Linuxコマンドを使用して単一のCronジョブを削除する方法
cronジョブをいじるのは、特に何が何に影響するのか100%把握していない場合は、少し神経質になるかもしれません。時には、他のすべてを誤って削除することなく、スケジュールされたタスクを1つだけ削除したいこともあります。残念なことに、cronには1つのジョブだけを直接削除する組み込みの機能がないため、crontabを編集して、必要な行を慎重に選択する必要があります。しかし、少し注意して適切な手順を踏めば、簡単に実行できます。通常、crontabを開き、ジョブを見つけ、その行を削除して保存するだけです。簡単ですが、確認を忘れると、間違ったジョブを削除してしまったり、重要なジョブを壊してしまったりする可能性があります。ですから、時間をかけて、事前にバックアップを取っておくことをお勧めします。何が起こるかわかりません。
Linuxで単一のCronジョブを削除する方法
削除したいcronジョブを見つけます
- まずはターミナルを開いてください。ほとんどのディストリビューションでは、 を押すCtrl + Alt + Tだけで動作します。または、アプリメニューからターミナルを探してください。
- 実行すると
crontab -l
、現在実行中のすべてのcronジョブが一覧表示されます。これにより、ユーザーアカウントにスケジュールされているすべてのタスクを確認できます。 - 削除したい厄介な行を見つけましょう。分かりやすい場合もあれば、そうでない場合もあります。念のため、リスト全体をどこかにコピーしておくか、メモを取っておくと良いでしょう。
1つのcronジョブを削除することの制限を理解する
さて、ここで問題なのは、cronはコマンドラインから直接ジョブを1つだけ削除することはできないということです。crontab全体を編集するには、crontab全体を開く必要があります。そのため、ファイルを開いて該当の行を削除し、保存するという方法があります。簡単ですが、焦ると少し危険です。間違った行を削除したり、構文を間違えたりすると、cronが全く動作しなくなる可能性があります。
設定によっては、特にGUIエディタを使用している場合は、状況が複雑になることがあります。しかし、一般的にはcrontab -e
、 を使えば非常に使いやすいテキストエディタが手に入ります。
crontabを編集してジョブを削除します
- 入力すると
crontab -e
、cronジョブがデフォルトのエディタで開きます。通常はNanoですが、Vim、Emacs、あるいは設定したエディタでも構いません。 - スクロールして該当の行を見つけてください。通常、スケジュール
* * * * *
とコマンドが続きます。その行を慎重に削除してください。他のものを削除したり、構文を崩したりしないように注意してください。
変更を保存してエディターを閉じます
- Nano を使用する場合:
- 押すとCtrl + O変更が保存されます。
- ファイル名を確認するにはクリックしてくださいEnter。
- 終了するには押しますCtrl + X。
- Vim を使用する場合は、:wq と Enter を使用しますが、ほとんどの人は単純さのために Nano を使用します。
場合によっては、保存せずに閉じるだけで元の crontab が保持されることがあります。そのため、必ず保存してください。
ジョブがなくなったことを確認する
- もう一度実行してください
crontab -l
。削除した行は消えているはずです。まだ残っている場合は、戻って正しく保存されているか確認してください。 - 場合によっては、特にタイプミスがあったり、誤って別の場所に保存してしまったりすると、以前の作業が残っていることがあります。心配しないでください。この手順を慎重に繰り返してください。
追加のヒントとトラブルシューティング
- まずはバックアップを:編集を行う前に、 でcrontabをダンプしてください
crontab -l > mycron_backup.txt
。何か問題が発生した場合、 ですぐに復元できますcrontab mycron_backup.txt
。 - 構文エラーに注意してください。星を付け忘れたり、コマンドを間違った場所に入力したりすると、cron はまったく実行されません。
- システム全体のcrontab(/etc/crontabや/etc/cron.d/*など)を編集する場合は、編集方法が異なります。通常はroot権限が必要で、/etc内の特定のファイルを編集する必要があります。システムファイルを編集すると、より大きな問題が発生する可能性があるため、特に注意してください。
まとめ
- 実行して
crontab -l
現在のジョブを表示します。 - crontab を で編集し
crontab -e
、特定の行を削除します。 - 保存し、再度実行してジョブが削除されたことを確認します
crontab -l
。 - 念のため、変更を加える前にバックアップしてください。
まとめ
cronジョブの管理は難しそうに思えるかもしれませんが、crontabを安全に編集する方法を一度覚えてしまえば、実はとても簡単です。行を削除する際には注意し、構文を二重チェックすれば、準備完了です。これで、誰かのイライラを数時間も軽減できれば幸いです。ただし、1つのジョブだけを削除したいからといって、すべてのジョブを削除する必要はありません。