我正试图在我的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脚本
- 将您的cronjob更改为
* * * * * /home/username/project/cron_test.py
- 使脚本可执行,即在终端中运行
chmod +x cron_test.py
- 将以下内容添加到脚本文件的顶部:
#!/usr/bin/python3
(或者python二进制文件所在的位置(
更改此行
file1 = open("home/username/project/cron_test.txt","a")
至
file1 = open("/home/username/project/cron_test.txt","a")