シェルスクリプト

cronとシェルスクリプトで定期実行を自動化する【実践ガイド】

シェルスクリプト
記事内に広告が含まれています。

毎日深夜にバックアップしたい、毎時ログを集計したい、そんな定期実行には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.sh

crontabの基本コマンド

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を明示する
  • ログファイルに実行記録を残すのが管理のポイント

コメント

タイトルとURLをコピーしました