はじめに
お仕事でcrontabを一時的に修正することがあり、
crontabを直接開いて編集するとミスが出そうで嫌だなと思って安全なやり方を探しました。
使用ツール
- Linux環境(今回はCentOS6を使用)
- teraterm
手順
- crontabの設定をファイルに出力
- 1で出力したファイルを編集
- 2で編集したファイルを使用してcrontabを登録
- 不要なファイルを削除
やってみよう
1. crontabの設定をファイルに出力
現在設定されているcrontabの内容を、バックアップと編集用に2つのファイルに出力しましょう。
$ crontab -l > /tmp/crontab.org
$ crontab -l > /tmp/crontab.edit
crontab.org
がバックアップ用、crontab.edit
が編集用です。
2. 1で書き出したファイルを編集
編集用のcrontab.edit
を編集します。
crontab.edit
$ vi /tmp/crontab.edit
編集し終わったら、現在のcrontabと編集したcrontab.edit
を比較して、
編集内容が間違っていないか確認しておきましょう。
$ crontab -l | diff /tmp/crontab.edit -
自分が編集した部分がdiffに出ます。
3. 2で編集したファイルを使用してcrontabを登録
編集したcrontab.edit
を使用して、crontabを登録します。
$ crontab /tmp/crontab.edit
きちんと登録できたか、確認しましょう。
$ crontab -l
編集したとおりになっていますね。
4. 不要なファイルを削除
特に設定を元に戻す必要がなければ、1で出力したファイルを削除してしまいましょう。
$ rm /tmp/crontab.org /tmp/crontab.edit
元に戻したければ、
バックアップ用にとっておいたcrontab.org
の内容をcrontabに登録しなおしてから削除します。
$ crontab /tmp/crontab.org
$ rm /tmp/crontab.org /tmp/crontab.edit
直に設定をいじるのは怖いので、
一度ファイルを出力して、そちらを反映するやり方はほかでも応用できそうですね。