Exim: чистим базу грейлистинга

После публикации статьи про экзим принялись мне знакомые, отстроившие по ней сервера, говорить, мол грейлистовая база растет и конца-края ей нету. На самом деле ее вполне реально поддерживать в компактном и актуальном состоянии, в этом нам поможет простой скрипт, расположим его в каталоге /root/scripts и назовем exim-clear-greylist.sh:

#!/bin/sh
echo "DELETE FROM exim_greylist WHERE record_expires < now();" | /usr/local/bin/mysql -u<имя sql-пользователя> -p<пароль sql-пользователя> <название БД экзима>

Теперь присвоим скрипту исполняемый бит:

# chmod 700 /root/scripts/exim-clear-greylist.sh

и добавим его запуск в /etc/crontab:

# echo "0       0       *       *       *       root    /root/scripts/exim-clear-greylist.sh" >> /etc/crontab
Все, теперь раз в сутки база будет очищаться от записей, у которых истек срок действия.

Вам также может понравиться

Об авторе jared

1 комментарий

  1. можно и вот так делать
    #!/bin/sh

    mysql=»/usr/local/bin/mysql»

    ${mysql} —host=localhost —user=vexim —password=vexim —database=vexim —execute=»DELETE FROM exim_greylist WHERE id!=100000000″

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *