我一直在试图让crontab工作一段时间,但似乎并不想工作。 我需要在每个午夜进行初始化的Python脚本完全从命令terminal完成。 我的Python脚本的位置是:
/home/rv/ncbi-blast-2.2.23+/database_backup/backup.py
我的contab看起来像这样:
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin:/home/rv/ncbi-blast-2.2.23+/database_backup MAILTO=root HOME=/ # For details see man 4 crontabs # Example of job deFinition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * command to be executed 0 0 * * * /usr/bin/python /home/rv/ncbi-blast-2.2.23+/database_backup/backup.py
我的Python脚本如下所示:
testing运行cron条目
在crontab中使用-f标志,在冒号后没有运行命令
处理2个cron任务之间的“竞争条件”。 什么是最好的方法?
在Debian Ubuntu上testingCrontab
crontab自动化的python脚本不会上传到dropBox
#!/usr/bin/python from subprocess import Popen import datetime today = datetime.date.today() today = str(today) #print today f = open("/home/rv/ncbi-blast-2.2.23+/database_backup/%s.sql" % (today),"w") x = Popen(["MysqLdump","-u","root","-P*****","normalisation"],stdout = f) x.wait() f.close()
任何想法哪里会出错?
只是看着cron日志,我每次尝试的时候都得到了这个
(root) BAD FILE MODE (/etc/crontab)
当我用shell脚本尝试时也遇到了同样的错误
用用户input运行crontab
从terminal创build临时Cron作业
运行cron作业时,“PHP -f”代表-f代表什么?
Crontab设置 – 每55分钟执行脚本
也许不是使用Python,而是创建一个bash脚本:
MysqL_backup.sh
#!/bin/bash /PATH/TO/MysqLdump -u root -P***** normalisation > /SOMEOTHER/PATH/TO/$(date '+%Y-%m-%d').sql
并将其放置在您的crontab中:
0 0 * * * /PATH/TO/MysqL_backup.sh
如果它从你的用户帐户,但不是从cron工作,它通常不是cron。 cron守护进程尝试启动你的应用程序,但是因为它没有设置环境变量,所以会失败。 创建一个简单的shell脚本来设置你的环境变量并启动你的python脚本。 (你没有PATH,所以你必须使用完整的路径名称等)
看看你的脚本,你可以很容易地使用shell脚本命令来完成这一切。 Shell脚本被大大低估了。
你可以检查crontab cmd,手动执行这些cmd,例如
/usr/bin/scrond run-parts /etc/cron.daily
我不知道你错在哪里,但是你可以将stderr和stdout重定向到你的crontab项中的一个文件,这可能会给你一个提示。 我的语法内存是生锈的,但它就像<yourfile>.py &> errors.txt
当然,这也引入了另一个失败点,那就是你没有权限写错误的地方放错误.txt。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。