Cronジョブは期待どおりに実行されません。

Cronジョブは期待どおりに実行されません。

だから私はgit / svn / p4リポジトリを取得し、データベースにいくつかの書き込みを実行するPythonスクリプトがあります。

スクリプトを自動化したいシステムログに表示されている内容を見ると、スクリプトが実行されていて出力をパイプしたいファイルも作成されていますが、ファイルは空です。クローンの仕事は次のとおりです。

10 04 * * * user /usr/bin/python2.7 /home/user/script.py -f someFlag > ~/cronout.log 2&>1

ちょっと恥ずかしいので、どこから始めるべきかわかりません。これがキーチェーンのパスワードなどに対する要求事項かもしれないと思いました。どんなアイデアでも役に立ちます!

ベストアンサー1

tee を使用して出力を取得します。

ティーマニュアル

tee標準入力/出力から読み取ってファイルに書き込みます。私の要件の1つをサポートするPythonスクリプトがありますが、単純な ">"リダイレクトは失敗します。 Teeは出力をキャプチャする方法です。

あなたの行は次のようになります:

10 04 * * * user /usr/bin/python2.7 /home/user/script.py -f someFlag | tee -a ~/cronout.log 2>&1

この試み:Pythonスクリプトを/usr/bin/ディレクトリの#!/bin/bashスクリプトにラップします。

その後、行を置き換えます。

10 04 * * * user /usr/bin/myPythonWrapperInBash& > /path/to/log/out 2>&1

チコールガイド

  • [-a]ファイルを追加します。
  • フラグなしで通常の呼び出しを実行すると、ファイルが上書きされ、ログが失われます。

おすすめ記事