crontab カンニングシート
crontabは、LinuxやUNIX系のシステムで定期的に実行するジョブをスケジュールするために使われるユーティリティです。以下に、crontabの典型的な使い方をいくつか列挙します。
システムの定期バックアップの実行
0 2 * * * /bin/backup-script.sh
この例では、毎日2時に/bin/backup-script.shというスクリプトを実行します。
ログファイルの自動削除
0 3 * * * find /path/to/logs -mtime +7 -type f -delete
この例では、毎日3時に/path/to/logsディレクトリ内にある7日以上前のログファイルを自動的に削除します。
ウェブサイトの自動更新
0 4 * * * cd /path/to/website && git pull origin master
この例では、毎日4時に/path/to/websiteディレクトリ内にあるGitリポジトリから、最新の変更を取得してウェブサイトを自動更新します。
セキュリティパッチの自動適用
0 5 * * * /usr/bin/apt-get update && /usr/bin/apt-get upgrade -y
この例では、毎日5時に/usr/bin/apt-get updateコマンドでシステムのパッケージリストを更新し、/usr/bin/apt-get upgrade -yコマンドでセキュリティパッチを自動適用します。
サービスの自動再起動
0 6 * * * /sbin/service httpd restart
この例では、毎日6時にApache HTTPサーバーを再起動します。
これらは、crontabを使用した典型的な使用例の一部です。crontabは、システムの自動化や定期的なタスクのスケジュールに非常に役立ちます。ただし、crontabの使用には注意が必要で、スクリプトやコマンドを正しく書くこと、実行権限を正しく設定すること、およびスクリプトやコマンドが期待通りに動作することを常に確認する必要があります。
サーバーのパフォーマンスチェック
*/10 * * * * /path/to/performance-check.sh
この例では、10分ごとに/path/to/performance-check.shというスクリプトを実行して、サーバーのパフォーマンスを定期的にチェックします。
メールの送信
0 7 * * * echo "Daily report" | mail -s "Daily report" user@example.com
この例では、毎日7時にecho "Daily report"コマンドを実行し、その結果をuser@example.comにメールで送信します。
ファイルのバックアップ
0 8 * * * tar -czf /path/to/backup.tar.gz /path/to/data
この例では、毎日8時に/path/to/dataディレクトリ内のファイルを/path/to/backup.tar.gzという名前で圧縮してバックアップします。
サイトのスクレイピング
0 9 * * * /path/to/python /path/to/scraping-script.py
この例では、毎日9時にPythonスクリプトを使用して、ウェブサイトから情報をスクレイピングします。
クリーンアップ
0 10 * * * /path/to/cleanup-script.sh
この例では、毎日10時に不要なファイルやディレクトリを削除するスクリプトを実行します。
これらの例は、crontabを使用した典型的な使用例の一部です。crontabは、多くの異なる用途に使用でき、定期的にタスクを実行する必要がある場合には非常に役立ちます。
データベースのバックアップ
0 11 * * * /path/to/mysqldump -u username -p password dbname > /path/to/backup.sql
この例では、毎日11時にusernameとpasswordを使用してdbnameデータベースをバックアップし、/path/to/backup.sqlというファイルに保存します。
ログファイルの解析
0 12 * * * /path/to/log-analyzer.sh /path/to/access.log
この例では、毎日12時にアクセスログファイル/path/to/access.logを解析する/path/to/log-analyzer.shというスクリプトを実行します。
プロセスの監視
*/5 * * * * /path/to/process-monitor.sh
この例では、5分ごとに/path/to/process-monitor.shというスクリプトを実行して、指定されたプロセスが稼働しているかどうかを監視します。
サイトのスナップショットの取得
0 13 * * * /usr/bin/wget --recursive --no-clobber --page-requisites --html-extension --convert-links --restrict-file-names=windows --domains website.com --no-parent http://www.website.com/
この例では、毎日13時に/usr/bin/wgetコマンドを使用して、ウェブサイトのスナップショットを取得します。
プログラムの実行
0 14 * * * /path/to/program arg1 arg2 arg3
この例では、毎日14時に/path/to/programというプログラムを実行します。arg1、arg2、arg3は、プログラムに渡される引数です。
これらの例は、crontabを使用した典型的な使用例の一部です。crontabは、さまざまな目的に使用できる強力なツールであり、システムの管理や自動化に大いに役立ちます。