簡體   English   中英

如何在 Ubuntu / Apache 中使用 cronjob 運行 python 腳本

[英]How to run a python script with cronjob in Ubuntu / Apache

我正在嘗試在我的 Apache2/Ubuntu 20.04 服務器中設置一個 cronjob。

我要執行的python文件如下:

def main():
print('TEST')
function()


def function():
    file1 = open("home/username/project/cron_test.txt","a")
    str1 = 'Test2 \n'
    file1.write(str1)
    file1.close() 

if __name__ == '__main__':
    main()

我已將我的 cronjob 定義如下:

* * * * * /home/username/project/venv/bin/python3 /home/username/project/cron_test.py

當我在 putty 中運行命令時,它運行得非常好,我得到了我想要的輸出。 但是,當我將它放在 crontab 中時,python 腳本不會運行。

任何想法我做錯了什么? 我嘗試了各種不同的方法,例如 cd 進入項目文件夾然后運行它,以及在 python venv 和代碼之間放置一個 -f ,但我沒有更接近。

幫助表示贊賞。

此致,

帕特里克

也許嘗試將您的腳本轉換為可執行的 python 腳本,

  1. 將您的 cronjob 更改為* * * * * /home/username/project/cron_test.py
  2. 使您的腳本可執行,即在終端運行chmod +x cron_test.py
  3. 將以下內容添加到腳本文件的頂部: #!/usr/bin/python3 (或 Python 二進制文件所在的任何位置)

改變這一行

file1 = open("home/username/project/cron_test.txt","a")

file1 = open("/home/username/project/cron_test.txt","a")

暫無
暫無

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

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