これは私の最初の投稿です。
bash
コマンドを実行してpython
出力をメールで送信する簡単なスクリプトを作成しています。ただし、スクリプトを実行するたびに出力cron
の半分が失われます。python
しかし、シェルで同じスクリプトを手動で実行すると、すべてが期待どおりに機能します。
Bashスクリプトは次のとおりです。
#!/usr/local/bin/python3
echo $(/usr/local/bin/python3 /home/tech2/myscript_v3_4-3.py -rs) > /home/tech2/weeklyreportoutput.txt
sleep 180
echo "Data Generated on $(date +%T_%d_%m_%y)" | mail -s "Data for Weekly SYNC $(date +%A_%F_%T)" -a /home/tech2/weeklyreportoutput.txt [email protected]
注:python
スクリプトは最大10秒間実行され、100行以下で出力されます。私も試してみましたが、echo
この場合は引数python
なしで実行されます。-rs
どんな助けでも大変感謝します。
答え1
Pythonプログラムを実行し、出力をキャプチャしてから(引用されていない)出力をエコーするのはなぜですか?ただ
/usr/local/bin/python3 /home/tech2/myscript_v3_4-3.py -rs > /home/tech2/weeklyreportoutput.txt
アプローチの主な問題の1つは、改行文字が空白に置き換えられることです。