Python:python-crontab不执行
问题描述:
我想让crontab每分钟执行一次python脚本,但看起来像crontab根本不执行脚本。Python:python-crontab不执行
这是我做crontab作业的python文件。
schedule.py
from crontab import CronTab
def main():
my_cron = CronTab(user='jelly')
cmd = '.venv/bin/python Users/jelly/PycharmProjects/test/writeDate.py'
job = my_cron.new(cmd, comment='test')
job.minute.every(1)
my_cron.write()
print(my_cron.render())
if __name__ == "__main__":
main()
这消息时我跑schdule.py
* * * * * .venv/bin/python Users/hyun/PycharmProjects/test/writeDate.py # test
这是脚本应该当我进入终端,并执行
import datetime
with open('dateInfo.txt', 'a') as outFile:
outFile.write('\n' + str(datetime.datetime.now()))
键入命令行
ps aux | grep cron
我可以看到这一类的邮件
root 47903 0.0 0.0 2460724 1696 ?? Ss 6:28PM 0:00.31 /usr/sbin/cron
jelly 71389 0.0 0.0 2432804 1380 s003 R+ 12:00PM 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn cron
此消息有时显示R +有时鞋子S +,所以我认为crontab中运行,但我无法找到这里创建任何新的txt文件在目录中。我想知道哪个部分出了问题,我该如何解决。
答
问题在于Python的路径。克龙有限的环境中运行,所以它不知道哪里是.venv /斌/ Python的和用户/果冻/ PycharmProjects /测试/ writeDate.py 您必须使用absoulte paths
尝试运行文件时使用sudo可能像许可问题一样简单。 – thesonyman101