web-dev-qa-db-ja.com

特定の時間におけるApacheの毎日のlogRotate

毎日特定の時間(3時間30分)にlogRotateを毎日実行するにはどうすればよいですか?これを行う方法の具体的な詳細をいただければ幸いです。

私はDebianを使用しています。

3

ステップ1-スクリプトを作成する

次のようなファイルを作成できます。

$ 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

ステップ2-crontabファイルにスクリプトを追加する

次に、このスクリプトを毎日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

ステップ3-スクリプトを実行可能にする

最後に、logrotateシェルスクリプトを作成します(/etc/cron.d/logrotate)実行可能ファイル:

$ Sudo chmod +x /etc/cron.d/logrotate

参考文献

2
slm