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です.
3、crontabサービスを開始したかどうか
4,check下サーバー時間、国外デフォルト時間と国内に時差がある(時間チェックコマンド(linux):date)5、時間構成ルールをチェックし、正しいかどうかを確認する(右から左、周年月時、何も言わない)6、cron実行ログを確認する(xx時間xxコマンドを起動するかどうか)
もしこのファイルが存在しなかったら?
7、文字のエスケープ、これは昨日やっと気づいたので、以前自分でデータベースのバックアップの任務を実行するのはすべてpyスクリプトで、自動的に日付によってバックアップを実現して、同名のカバーを防止します.crontabもコマンドに変数を混在させることをサポートしていることに気づいた.簡単なバックアップはpyスクリプトで実現する必要はありません.
「%」前のエスケープの「」と、外部のキーは一重引用符ではなく、キーボード上部1の左側のキーに注意してください.
昨日、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の左側のキーに注意してください.