crontab上的Python脚本不起作用


1

我有这个用Python编写的脚本,它应该通过Telegram发送“world.zip”文件。

#!/usr/bin/python3

...

bot.chat(chat).send_file(path="/home/marcobuster/Server/world.zip")

如果我使用启动脚本 python3 "Backup.py" 有用。

好。但现在,我想每小时运行一次这个脚本。所以,我更新了crontab列表,我添加了这些东西 (marcobuster是我的用户)

00 * * * * sudo -u marcobuster /usr/bin/python3 /home/marcobuster/Server/Backup.py > /home/marcobuster/Server/crontab_error.txt 2>&1

但脚本不起作用。他给了我这个例外:

Traceback (most recent call last):
...   
FileNotFoundError: [Errno 2] No such file or directory: '/home/marcobuster/Server/world.zip'

我重复一遍,通过使用它来启动它可以正常运行 python3 "Backup.py"

怎么了?

UPDATE :我试过这样做:

chmod +x Backup.py

./Backup.py

我有同样的错误:

 Traceback (most recent call last):
    ...   
    FileNotFoundError: [Errno 2] No such file or directory: '/home/marcobuster/Server/world.zip'

为什么不将shebang行设置为#!/ usr / bin / python3并将cron作业运行为/path/to/the/script.py,确保文件为+ x模式。
Sirex

这是同一件事。
MarcoBuster

另外,你为什么使用sudo?这是root的crontab吗?将它放在用户的crontab中会更容易。
Sirex

因为我尝试了一切。
MarcoBuster

$ ./Backup.py Traceback (most recent call last): FileNotFoundError: [Errno 2] No such file or directory: '/home/marcobuster/Server/world.zip' $
MarcoBuster
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.