logrotate и prerotate
Проблемма с ротацией логов, точнее при ротации, в общем конфиги
/etc/logrotate.conf
include /etc/logrotate.d
/etc/logrotate.d/cron_info
/var/log/syslog-ng/cron_info.log {
weekly
mailfirst
rotate 12
compress
create 640 root log
olddir /var/log/old
missingok
prerotate
cat /var/log/syslog-ng/cron_info.log |gpg -a -e -r AAAAAAAA --bzip2-decompress-lowmem --bzip2-compress-level 9|mailx -s "cron_info $(date)"
endscript
postrotate
/etc/init.d/syslog-ng reload > /dev/null 2>&1 || true
endscript
}
В итоге логи то ротируются, а вот сообщение на почту приходит но полностью пустое, хотя должно приходить с шифрованными логами. Где моя ошибка?
- Для комментирования войдите или зарегистрируйтесь
Командаcat
Команда
данная в консоли работает так, как вы хотите?
Надеюсь, значение AAAAAAAA из этой команды соответствует значению uid, из
gpg -k
?P.S. Если значение AAAAAAAA содержит пробелы, возьмите его в кавычки - 'AAAAAAAA'.
Я ♥ Gentoo & Funtoo
В консоле работает все
В консоле работает все хорошо, а вот в логротате, как то нет. Такое чувство, что она пытается отправить логи, уже после того как она файл почистила.
ТоварищЪ
Меня глючит, или ты таки забыл строчку в конфиге?
В правильном случае (с последней/актуальной версией logrotate) оно должно бы выглядеть так:
sharedscripts prerotate cat /var/log/syslog-ng/cron_info.log |gpg -a -e -r AAAAAAAA --bzip2-decompress-lowmem --bzip2-compress-level 9|mailx -s "cron_info $(date)" endscript postrotate /etc/init.d/syslog-ng reload > /dev/null 2>&1 || true endscript
ЗЫ: Что лично мне не понятно, так это почему оно вообще работает...
ЗЗЫ: А ещё он (точнее --- евонный парсер конфигурационных файлов) не любит [частично] комментированных строк в объявлении команд обработки конкретного лог-файла.
:wq
--
Live free or die
Anarchist написал(а):Меня
На основании чего, сделано это утверждение, ведь согласно man logrotate
Я ♥ Gentoo & Funtoo
Попробуйте сначала
Попробуйте сначала максимально упростить конфигурационный файл, тем более, как мне кажется, опция mailfirst явно лишняя:
mailfirst When using the mail command, mail the just-rotated file, instead of the about-to-expire file.
И, возможно, стоит оформить команду шифрования и отправки на почту в виде отдельного скрипта, который и запускать из /etc/logrotate.d/cron_info.
Я ♥ Gentoo & Funtoo