2016-02-28 42 views
0

我有這個.sh啓動一個python文件。這個python文件在使用sudo通過命令行啓動時生成一個.txt文件,但是通過.sh啓動時不會生成.txt.sh由cron啓動不通過python創建文件

爲什麼pyhton文件在啓動cron和.sh時不會給我一個.txt文件?

當我使用su -c "python /var/www/html/readdht.py > /var/www/html/dhtdata.txt" 2>&1 >/dev/null,.sh給我輸出,但省略了換行符,所以我得到一個大的字符串。

python文件在從命令行啓動時會正確創建.txt文件,其格式爲sudo python readdht.py

如果.SH蟒蛇文件開始su -c "python /var/www/html/readdht.py沒有.TXT創建

這是怎麼回事?

回答

0

難以回答,沒有更多的顏色在您的環境。

下面是如何解決這個問題:不要將您的輸出重定向到/ dev/null。然後在你的cron日誌裏看看發生了什麼。看起來您的腳本很可能失敗,因此不會將任何內容返回到標準輸出,因此不會創建文件。

我高度懷疑這是因爲您使用的是python模塊,或者是在您的bashrc中加載​​的python版本或python路徑。 Crontab不會執行你的bashrc,它是一個獨立的環境,所以你不能假定當你手動啓動的腳本在你的cron中可以正常運行。

嘗試在你的cron任務中尋找你的bashrc,它很可能解決你的問題。