Назад | Перейти на главную страницу

Log Rotate не меняет журналы

У меня есть logrotate, работающий на экземпляре Aws ec2, который пытается ротации журналов в / var / log / tomcat8 / каждый час. У меня есть конфигурация ниже в /etc/logrotate.d/rotate_tomcat:

"/var/log/tomcat8/localhost_access_log.*-*-*.txt" "/var/log/tomcat8/catalina.*-*-*.log" "/var/log/tomcat8/agent-log.*-*-*.json" "/var/log/tomcat8/ldap-query-log.*-*-*.*.json" {
    copytruncate
    size 1k
    rotate 5
    compress
    missingok
    create 0644 tomcat tomcat
}

Когда я запускаю это вручную, он работает, как ожидалось. Но когда я запускаю это как crond, он ничего не делает. Ниже моя конфигурация crond в /etc/crond.d/accessLogDeletion

*/2 * * * * root logrotate /etc/logrotate.d/rotate_tomcat

Любые входы приветствуются.

Проблема связана с PATH в сеансе cron.

/bin/sh: 1: logrotate: not found

Вы можете исправить, указав полный путь к команде:

*/2 * * * * root /usr/sbin/logrotate /etc/logrotate.d/rotate_tomcat >> /var/log/myCron.log  2>&1

или с PATH env в начале скрипта cron:

PATH=/usr/sbin:/usr/bin:/sbin:/bin

*/2 * * * * root logrotate /etc/logrotate.d/rotate_tomcat >> /var/log/myCron.log  2>&1

Рекомендуется регистрировать вывод команд cron, как указано выше.