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つのジョブだけを削除したいからといって、すべてのジョブを削除する必要はありません。