crontabファイルを誤って削除回復します

多くの場合、スケジュールされたタスクを編集するのcrontab -eを使用して、秒針安価なノックは、コマンドのcrontab -r、悲しいリマインダになりました

使用方法:crontabの[ - uのユーザー]ファイル
    のcrontab [ -uユーザー] [-i] {-e | -l | - R} デフォルトの動作があるごとに、置き換える1003.2  -e(編集ユーザー' のcrontabファイル) 
    -l(リストのユーザー' のcrontabファイル) 
    -r(ユーザー削除' のcrontabファイルを) 
    -i(ユーザー削除する前にプロンプト' のcrontabファイルを)

 

その後、私の本能、Googleはすぐに解決策は、すべてのは/ var / log / cronを経由発見された*ファイルの回復が、私は、この文書ああを発見していない見つけます

私が回復するために誰かを見つけるために、ゆっくりと他人、メモリからのいくつかのタスクに書くつもり落胆したように、私は考えていた、このディレクトリ内のファイルをログに記録することがありますしません

だから、私モーメントと「cronの」関連文書のためのグローバル検索、 

sudoを見つける/ --name " * cronの* "

「/tmp/crontab.VgsSIK/crontab」:非常に大声でファイルを持っている多くのことを、私たちを見つけます

私は最初、握手をし、15日前にファイルの日付、ファイルをチェックするvimのコマンドをノックダウン、すごい、私の世界は色に戻ってきた、のcrontabファイルがバックアップです。ファイルには、生活に戻って私を作るのに十分な15日前ですが、が、

 

>>>>>>>>>>>>>>>>>>>>>>>>

上記のやるべきか、バックアップがない場合は、ログファイルがあることについて話をするためにここに、私の話である

ログファイルに応じて回復します:

CAT / VAR /ログ/ cronの* |はgrepの-i " ユーザー" | grepを" CMD " | awkの-F ' '  ' {} 3プリント$。' | awkの-F ' '  ' {} 1プリント$。' |並び替え-u> crontab_tmp
説明:
grepを - I「ユーザー」:他のユーザーがフィルタ情報である
grepのCMD :非コマンドラインフィルタリングする必要がある
のawk -Fは、 {} 3プリント$。:さ「(」区切り文字。ここで、第3の素子抽出結果"/ホーム/スクリプト/ check_alive.sh)" 
AWK -F ' '  ' {} 1印刷$。': 'で')セパレータとして、最初の要素を抽出します。ここでの結果は「/ホーム/スクリプト/あるcheck_alive.sh」
この時、私たちは自分たちのニーズを指揮するために抽出されているが、理由はトリガーのcrontabのタイミングで、重複がたくさんあるでしょう。その後、再する必要があり
ソート > cmd_tmp:への重複排除cmd_tmpファイル出力した後
、その後の再度コマンドに従って抽出 / varは / /ログ指定された方法を復元するためのcronファイルの間隔を確認/ VAR/スプール/ cronを/

 

>>>>>>>>>>>>>>>>>>>>>>> crontabのバックアップスクリプトのスケジュール設定
から、この記事を、元の作者に感謝し、それを貼り付け

バックアップをするのcrontab 7毎朝、7日前のデータを削除します。説明⚠️

次のようにスクリプトは次のとおりです。

backup_crontab。sh 
!は/ usr / binに/ のenv bashの

BACKUP_DIRECTORY = " $ {HOME} / crontab_backup " 

であれば [!-e " $ {BACKUP_DIRECTORY} " ]。次いで
        MKDIR - Pの$ {BACKUP_DIRECTORY}
 Fi回線

のcrontab -l> $ {BACKUP_DIRECTORY} / $(日付 ' +%Yの%のM%のD ' )の.txt
 見つける $ {HOME} / crontab_backup -mtime + 7 -name ' .txtファイル* ' -exec RM -rf {} \。

説明:

上記のスクリプト" 家を見つける} {$ / crontab_backup -mtime +7 -name '* .txtの' -rf RM -exec {} \; "、と交換することができる" } HOME検索{$ / crontab_backup -mtime +7 -name '* .txtの' | xargsのRM -rf 

 

crontabのスケジュールされたタスクで上記のスクリプトを実行します:

## backup_crontab
 0  7 * * * CD /データ/ siterecoffline && shの backup_crontab。SH

 

おすすめ

転載: www.cnblogs.com/zhang-can/p/11764139.html