簡體   English   中英

python中的谷歌電子表格閱讀腳本不是從cron計划運行而是在我運行shell命令時工作

[英]google spreadsheet reading script in python not running from cron schedule but working when i am running it shell command

我正在使用 python 腳本從 Google 電子表格中讀取數據,當我使用 shell 命令運行時,該腳本工作正常,但是當我在 cron 上安排它時它沒有工作。

到目前為止,在我完成的檢查清單中

  1. 文件名和位置相關沒有問題可用
  2. 通過使用tail -f /var/log/syslog | grep CRON tail -f /var/log/syslog | grep CRON這個命令我已經看到計划按時觸發

  3. 我已經在另一個腳本中添加了我的腳本方法,該腳本在 cron 中運行良好,但該方法在 cron 運行時仍然不起作用

cron 語句

/home/ubuntu/.virtualenvs/python_3.5/bin/python /location/script_name.py

有沒有其他方法可以檢查為什么它不能從 cron 計划工作但從 shell 命令正常工作。

從@stovfl 得到建議后,我添加了>> /tmp/cron.log 2>&1這一行

/home/ubuntu/.virtualenvs/python_3.5/bin/python /location/script_name.py  >> /tmp/cron.log 2>&1

使用我的 cron 語句並檢查日志文件,我發現我沒有使用身份驗證 json 文件的顯式路徑,盡管它在項目文件夾中,所以 shell 命令它工作正常。 使用如下代碼

credentials = ServiceAccountCredentials.from_json_keyfile_name('file_name.json')

因此,當 cron 觸發腳本時,它無法獲取身份驗證文件的位置並且沒有運行。 然后我改變了如下

credentials = ServiceAccountCredentials.from_json_keyfile_name('location_of_file/file_name.json')

現在它就像 cron 和 shell 命令的魅力一樣

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM