我从博客条目中复制了这个,研究了它,稍微调整了一下,或多或less地起作用: #!/bin/bash GZ_DATE=`date +%Y%m%d` GZ_TIME=`date +%H` BK_PATH=/mnt/usbbk/sql BK_FILE=$BK_PATH/$GZ_DATE-$GZ_TIME.gz # # Find all files older than 7 days (10080 minutes) and remove them # find BK_PATH* -type f -mmin +10080 -exec rm {} \; # # Dump and gzip export of SQL data # mysqldump –lock-all-tables –all-databases -u backup -p backup | gzip > $BK_FILE 但是,似乎并没有删除备份
我有一个脚本列在我的根crontab 07 9 * * * /opt/HLRSDATA_2010_OCT/HLRS_Scheduler_sp.sh > /opt/HLRSDATA_2010_OCT/logs/HLRTKJob.log 该脚本包含以下内容 #!/bin/bash echo HLRSData Scheduler cd /opt/HLRSDATA_2010_OCT /usr/bin/java -Xms32m -Xmx1024m -cp ".:HLRSDATA_Premium.jar:lib/commons-net-1.4.1.jar:lib/jakarta-oro-2.0.8.jar:lib/mysql-connector-java-3.1.12-bin.jar:lib/x ercesImpl.jar" mx.com.txm.hlrsdata.scheduler.HLRS_Scheduler /opt/HLRSDATA_2010_OCT/HLRS_Scheduler_Reports_sp.sh /opt/HLRSDATA_2010_OCT/HLRS_Scheduler_Reports_Redundant_sp.sh /opt/HLRSDATA_2010_OCT/HLRS_Delete_Data_sp.sh /opt/HLRSDATA_2010_OCT/HLRS_Delete_Data_Redundant_sp.sh /opt/HLRSDATA_2010_OCT/HLRS_Delete_Files.sh 脚本没有运行,我在/ var / log / cron中检查过,甚至没有跟踪它至lessTRIED运行的东西。 日志: Oct 18 08:47:19 isvahlrtk01 crontab[46449]: (root) END EDIT (root) Oct 18 08:47:22 isvahlrtk01 crontab[46455]: (root) BEGIN EDIT (root) Oct 18 […]
是否有可能在用户的crontab中放置“if”语句,或者是否有另一种明智的方式来组织大量的条件cron作业? 从最终用户的angular度来看,如果可以使用正常的crontab,并且尽可能在两行之间input它们,那将是最简单的。 理想情况下是这样的: if [ something ]; then * * * * * /usr/bin/php /path/to/file.php 0 0 * * * /usr/bin/php /path/to/file2.php */5 * * * * /root/script.sh fi
可能重复: 我可以比每分钟更频繁地运行一个cron工作吗? 嗨,有没有人回答我 我想安排一个可以每秒运行的cron作业,我们可以安排吗? 谢谢 Rahul Kumar
bfd的cronconfiguration似乎是错误的 MAILTO= SHELL=/bin/bash */3 * * * * root /usr/local/sbin/bfd -q 这是由安装创build的原始设置。 cron.log给出了这个错误 – Error: bad minute; while reading /etc/cron.d/bfd Error: bad minute; while reading /etc/cron.d/bfd但它看起来对我来说很好。
我有一个cron设置每分钟运行 * * * * * /usr/php /my/location/script.php 现在,我使用时间函数来衡量脚本执行时间。 所以,跑步 console$ time /usr/php /my/location/script.php 输出 real 0m0.000s user 0m0.000s sys 0m0.000s 但是这不适用于这样的cron: * * * * * time /usr/php /my/location/script.php 2>&1 >> my_log_file 它在命令行上也不起作用 console$ time /usr/php /my/location/script.php >> my_log_file 在上面的两个例子中,时间函数实际上是计算写入my_log_file所用的时间,而不是将其输出写入日志文件。 在脚本中添加代码并loggingSTD OUTPUT不是一个选项。
我有一个奇怪的问题。 我使用以下命令行通过控制台发送带有附件的电子邮件: /usr/bin/mutt -s "AwStats $(date +%d.%m.%Y)" -a /path/to/file [email protected] < /dev/null 奇迹般有效。 但我想通过cron发送,所以我创build了这个cronjob: @daily root /usr/bin/mutt -s "AwStats $(date +%d.%m.%Y)" -a /path/to/file [email protected] < /dev/null cronjob确实得到执行,但失败并显示以下错误消息: /bin/sh: -c: line 0: unexpected EOF while looking for matching `)' /bin/sh: -c: line 1: syntax error: unexpected end of file 我不知道为什么。 任何人都可以帮忙吗? 非常感谢你提前! 亲切的问候
我注意到, crontab -e和sudo crontab -e似乎编辑单独的文件。 这两个命令如何不同以及在什么情况下应该使用?
我有一个cron工作, 应该从星期六到星期天每天1700时。 但是,它会在0100小时在系统上运行。 用于定义此特定作业表的计划描述符string为: 0 17 * * 0-6 这个crontab所在的系统是运行ISC Cron V4.1的CentOS 5.2。 我最近通过在/etc/localtime指向/usr/share/zoneinfo/GB的符号链接,将系统上的时区从PDT更改为BST。 不过,我不相信这个问题,因为我记得在0100时前运行的cron作业。 任何见解? 我很感激任何帮助,我可以得到这一点。 谢谢。
我做“crontab -e”并添加以下行: 0 9 * * * /usr/bin/python /home/g1/g1/utils/statsEmail.py > /home/g1/log/statsemail.log 但它不工作! 为什么? 脚本本身的作品。 另外,日志是空的。 我在crontab中的其他命令是这样的,它的工作原理: 0 9 * * * /usr/bin/python /home/g1/g1/sphinx/updateall.py > /home/g1/log/updateall.log