毎日深夜にバックアップしたい、毎時ログを集計したい、そんな定期実行にはcronとシェルスクリプトの組み合わせが最適です。
crontabの書き方
# 分 時 日 月 曜日 コマンド
0 2 * * * /home/user/backup.sh
0 * * * * /home/user/log_summary.sh
0 9 * * 1 /home/user/weekly.sh
*/5 * * * * /home/user/monitor.shcrontabの基本コマンド
crontab -e # 編集
crontab -l # 一覧表示
crontab -r # 全削除(注意:確認なしで即削除)注意:crontab -r はすべてのcronジョブを確認なしで削除します。
cronスクリプトのテンプレート
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LOGFILE="/var/log/mycron.log"
exec >> "$LOGFILE" 2>&1
echo "[$(date "+%Y-%m-%d %H:%M:%S")] 実行開始"
echo "[$(date "+%Y-%m-%d %H:%M:%S")] 完了"まとめ
- crontabは
分 時 日 月 曜日 コマンドの形式で記述する crontab -rは確認なしで全削除されるため注意- cronのPATHは限定的なのでフルパスかPATHを明示する
- ログファイルに実行記録を残すのが管理のポイント



コメント