linux_crontabタスク構成失敗原因のまとめとテクニック

1608 ワード

オリジナル:linux_crontabタスク構成失敗原因のまとめとテクニック
 昨日、crontabを構成するときにいくつかの穴に遭遇しました.crontabは比較的熟知しているが、1年以上触ったことがなく、少し疎かで、低級な間違いは基本的にもう一度犯した.ついでに片付ける.
crontabが構成されていて、その後有効になっていない場合は、どうすればいいですか?1,コマンド単独で取り出し,端末でこれを実行すると,スクリプトに権限の問題(chmod+x x x x.sh)bがあるかどうか,(手振れ)書き間違え経路があるかどうかなどの低レベルエラーcがあるかどうか,特定のconda環境に依存する場合はconda activate xxxが必要となる.
2相対パスを使用するかどうか1がokを実行すると、aは、コマンド中のx.shなどを/home/xxx/x.shなどの絶対パスに変更し、y.pyも同様に完全な絶対パスを使用する.b、pyが特定のcondaに依存する場合は、condaの特定のpyを使用する必要があります.以下はcondaのcenter環境のpythonです.
 /home/john/anaconda3/envs/center/bin/python  xx.py

3、crontabサービスを開始したかどうか
  1,    crontab    :crontab: installing new crontab,       
john@VM-0-4-ubuntu:~$ crontab  -e
crontab: installing new crontab

  2
service cron status
     activate(running)     

4,check下サーバー時間、国外デフォルト時間と国内に時差がある(時間チェックコマンド(linux):date)5、時間構成ルールをチェックし、正しいかどうかを確認する(右から左、周年月時、何も言わない)6、cron実行ログを確認する(xx時間xxコマンドを起動するかどうか)
sudo tail -20f /var/log/cron.log 

もしこのファイルが存在しなかったら?
sudo vim /etc/rsyslog.d/50-default.conf
  cron    ,       #  

7、文字のエスケープ、これは昨日やっと気づいたので、以前自分でデータベースのバックアップの任務を実行するのはすべてpyスクリプトで、自動的に日付によってバックアップを実現して、同名のカバーを防止します.crontabもコマンドに変数を混在させることをサポートしていることに気づいた.簡単なバックアップはpyスクリプトで実現する必要はありません.
   :now = date +%Y%m%d && tar -xzvf xx_$now.tar.gz xxx/
crontab:now = `date +\%Y\%m\%d` && tar -xzvf xx_$now.tar.gz xxx/

「%」前のエスケープの「」と、外部のキーは一重引用符ではなく、キーボード上部1の左側のキーに注意してください.