CLIでcrontabの削除オプションを無効にします


13

たとえば、特定のコマンドを無効にするにはどうすればよいcrontab -rですか?

私のE鍵は鍵の隣にあるので、私が偶然それを実行したことはもう二度起こりましたR。その小さなタイプミスで十分であり、crontabはなくなりました。


2
重要なファイルのバックアップを作成することを忘れないでください!
-wjandrea

確かに、私は@daily zip -r /home/./scripts/cronjobs-all.zip / var / spool / cron / crontabs
user66638

MercurialやGitのようなソースコードリビジョン管理システムは、スクリプトファイルの管理や、偶発的な変更や削除からの保護にも役立ちます。2つのどちらのリモートリポジトリも必要ありません。:
デビッドフォースター

回答:


16

crontabコマンドの周りにラッパーを使用します。たとえば、この関数は次のようにします。

crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;}

この関数-rは、の引数に存在するかどうかをチェックしcrontabます。存在する場合、メッセージを表示して終了し"r" not allowed、存在しない場合はコマンドを実行します。

~/.bashrcすべての対話型bashセッションの初期化時にロードされるようにそれをあなたに入れてください。


27

含めることをお勧めします

alias crontab="crontab -i"

~/.bashrcファイル内(テストする前に新しいシェルを起動してください!)

これは、crontabを実行するたびに、常に「-i」オプションを選択することを意味します。ここでcrontab -rコマンドを指定すると、で処理されcrontab -ir、crontabファイルを削除する前にプロンプ​​トが表示されます。

nick@serv2:~$ crontab -r
crontab: really delete nick's crontab? (y/n) n
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.