Я прошу прощения, если я неправильно понял, как это работает.
Я попытался настроить свою собственную почасовую конфигурацию logrotate, которая, похоже, не повлияла на вкладки cron.
Я приведу ниже свои файлы, и если кто-то может указать на ошибку, которую я сделал, я был бы очень благодарен.
/ etc / logrotate_hourly.d / upstart
/var/log/upstart/*.log {
hourly
copytruncate
missingok
size 1M
rotate 1
compress
notifempty
nocreate
}
/ etc / logrotate_hourly.d / nginx
/var/log/nginx/*.log {
hourly
missingok
rotate 0
size 200M
compress
notifempty
sharedscripts
postrotate
[ ! -f /run/nginx.pid ] || kill -USR1 `cat /run/nginx.pid`
endscript
}
/ etc / logrotate_hourly.conf
# see "man logrotate" for details
# rotate our custom log files hourly
hourly
# use the syslog group by default, since this is the owning group
# of /var/log/syslog.
su root syslog
# packages drop log rotation information into this directory
include /etc/logrotate_hourly.d
/ etc / cron.hourly / logrotate
#!/bin/sh
# Clean non existent log file entries from status file
cd /var/lib/logrotate
test -e status || touch status
head -1 status > status.clean
sed 's/"//g' status | while read logfile date
do
[ -e "$logfile" ] && echo "\"$logfile\" $date"
done >> status.clean
mv status.clean status
test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate_hourly.conf
Запуск следующих работ, как и ожидалось:
sudo logrotate -f /etc/logrotate_hourly.conf
Запуск также работает:
sudo /usr/sbin/logrotate /etc/logrotate_hourly.conf
Но кажется, что cron / ежечасное логротирование никогда не происходит.
Везде, где вы читаете людей, говорящих: «Вам не нужно ни перезапускать службу, ни перезагружаться, чтобы новые логроты вступили в силу».
Я нашел одного человекаговоря, что они имели успех с изменением конфигурации и перезагрузкой.Все не правы или ему повезло?
Я стараюсь не перезагружаться, когда мы создаем изображения для автоматического масштабирования aws от amazon, и, таким образом, он просто раскручивает моментальный снимок.