Можно создать файл, такой как это:
$ sudo gedit /etc/cron.d/logrotate
И добавьте эти строки к этому файлу:
#!/bin/bash
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
Затем создайте crontab запись, которая запускает этот скрипт в 3:30 каждый день. Чтобы сделать этот 2-й шаг редактируют файл /etc/crontab
:
$ sudo gedit /etc/crontab
И добавьте эту строку:
# m h dom mon dow user command
30 3 * * * root /etc/cron.d/logrotate
Примечание: Вы, возможно, должны были бы опустить пользователя в некоторых ситуациях, как это:
# m h dom mon dow command
30 3 * * * /etc/cron.d/logrotate
Наконец сделайте logrotate
сценарий оболочки (/etc/cron.d/logrotate
) исполняемый файл:
$ sudo chmod +x /etc/cron.d/logrotate
Вы можете создать единую директорию для всех файлов истории и установить HISTFILE
в /etc/profile
соответственно. Например HISTFILE=/var/somedir/history/${USER}_history
Тогда у вас будет одно место со всеми файлами истории. Однако пользователь может переопределить HISTFILE, например, в своем .bashrc
.