如何在Ubuntu/Apache中使用cronjob运行python脚本



我正试图在我的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,但我没有更接近。

感谢您的帮助。

致问候,

Patrick

也许可以尝试将您的脚本转换为可执行的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")

相关内容

  • 没有找到相关文章

最新更新