毎日特定の時間(3時間30分)にlogRotateを毎日実行するにはどうすればよいですか?これを行う方法の具体的な詳細をいただければ幸いです。
私はDebianを使用しています。
次のようなファイルを作成できます。
$ 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
次に、このスクリプトを毎日3時30分に実行するcrontabエントリを作成します。この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