如果我从shell运行这个命令,它按预期工作: cd ~ && mysqldump –databases –skip-dump-date –host=localhost –user=admin –password=xxxxx –lock-all-tables –result-file=xxxxx_dump_tmp.sql mydb && gzip xxxxx_dump_tmp.sql && mv xxxxx_dump_tmp.sql.gz xxxxx_dump_`date +"%Y-%m-%d__%H.%M.%S"`.sql.gz 但是,如果我使用完全相同的命令(复制粘贴)设置了cronjob,则会失败并显示以下错误(我通过电子邮件收到通知): /bin/sh: -c: line 0: unexpected EOF while looking for matching “' /bin/sh: -c: line 1: syntax error: unexpected end of file 怎么了?
我在cron中有两个脚本每两分钟运行一次: */2 – 事情是,它们不合适。 一个运行在1,3,5,7,9分钟等,另一个在0,2,4,6,8。 这不是一个关键的问题,但意味着我有两个状态报告,一个比较另一个陈旧。 cron到底做了什么? 在crontab文件顺序中运行第一个,等待完成后运行第二个? 有什么办法可以在同一时间或尽可能接近?
我需要定期清空文本文件而不删除它(我知道它有多less行)。 我试过这个: 创build一个执行以下脚本的cron other lines from the script here sed '1,14d' file.txt>file.txt 如果我从terminal运行它工作正常,但是当我运行cron它执行第一部分(“脚本的其他行”这一部分),但它不会清空该文件。 注意:该文件有777个权限,所以我不认为它是权限相关的。
我at成功排队并成功运行的作业中遇到了问题,但有时会在计划运行几十分钟后出现问题。 我确认atd正在运行: me@hostname:~$ ps -ef | grep atd daemon 1223 1 0 Aug27 ? 00:00:00 atd 而且这项工作是按计划进行的 me@hostname:~$ atq 260 Wed Oct 28 12:02:00 2015 a me 服务器时间晚于预定时间 me@hostname:~$ date Wed Oct 28 12:19:57 EDT 2015 但工作不运行。 它最终确实运行了,但比预期的要晚数十分钟。 没有来自atd电子邮件或日志错误消息。 如果我将at -c 260的内容复制到一个脚本中,并且在空白环境下从terminal运行,作业运行没有问题,所以作业的内容似乎没有任何问题。 这发生在一些,但不是所有计划的工作。 工作开始的时间和延迟的时间,我无法find任何不同的东西。 这是正常的吗? 为什么at比预定时间晚的时候运行工作呢? 我可以做些什么来使它在预定的时间运行?
我注意到/etc/cron.d/中的作业没有运行,奇怪的是X的数量会运行,但其余的不会。 我已经阅读了有关不使用“。”的评论。 在文件名中,我的文件都没有任何点。 我也读过,你应该总是在每个文件的末尾放一个空行,但这似乎没有任何区别。 最后,我从/etc/cron.d/中的每个文件中删除了所有注释,这使得所有作业都能正常运行。 Cron没有在/ var / log / syslog或/ var / log / messages中放入任何错误消息,没有/var/log/cron(d).log 有没有人遇到过这样的事情? 如果有的话,是否有解决scheme进行评论,而不会导致问题?
我的crontab看起来像: root@slack13x64:~# crontab -l -u dnd # some variables SHELL=/bin/bash PATH=/bin:/usr/bin:/usr/local/bin:/home/dnd/bin MAILTO=root # Actual jobs 40 20 * * * /home/dnd/cron_jobs/some_job.sh 55 23 * * Fri /home/dnd/cron_jobs/other_job.py 作业几乎可以正常运行,因为crontab无法设置所有variables: Sep 1 20:40:01 slack13x64 crond[2325]: failed parsing crontab for user dnd: SHELL=/bin/bash Sep 1 20:40:01 slack13x64 crond[2325]: failed parsing crontab for user dnd: PATH=/bin:/usr/bin:/usr/local/bin:/home/dnd/bin Sep 1 20:40:01 […]
我不确定在哪里问这个问题,但我会先问这里。 我有一个Synology DS211服务器,我正在尝试运行cron作业,但它不工作。 这是我在crontab文件中得到的代码 10 19 4 * * root /opt/bin/openssh-scp user@remote-server:/home/user/Backup/backup.tar.gz /volume1/Backup/ 但是它没有运行。 我能够直接使用/opt/bin/openssh-scp运行命令,但不能使用cron 有什么我做错了吗?
我正在维护一些OS X 10.10机器,这些机器需要cron来执行各种任务(看门狗进程,/ tmp清理器等)。 其中一个已经神秘地停止了它的cron守护进程,而且我似乎还没有以root身份手动运行/usr/sbin/cron命令。 这不是真正可以维持的; 我们不太相信这些机器的稳定性,我们已经在crontab中安排了一些交错的重新启动,所以有人必须在每次重新启动时ssh和重新启动cron。 我已经尝试卸载并重新加载cron plist for launchd: launchctl unload /System/Library/LaunchDaemons/com.vix.cron.plist launchctl load /System/Library/LaunchDaemons/com.vix.cron.plist 我以为会开始,但没有。 我然后尝试: launchctl start /System/Library/LaunchDaemons/com.vix.cron.plist 但是这也没有效果。 进程列表中仍然没有cron ,cron作业没有运行,并且launchctl list – 0 com.vix.cron 。 从cron转移到纯粹的launchd是解决这个问题的一种方法,但它需要进一步发散我们的linux和mac代码,并且需要大量的testing,坦率地说对launchd更加熟悉。 对于OSX来说相对较新,我不知道该从哪里出发。 我怎样才能让cron在OSX 10.10上运行,并开始启动? 更新: /etc/crontab作为一个空文件存在,但所有用户都在/usr/lib/cron/tabs有它们各自的crontab。 /var/log/system.log中的cron的grep除了在crontab文件上调用sudo cat之外,没有任何结果。 如果我再次运行这个命令: launchctl load -w /System/Library/LaunchDaemons/com.vix.cron.plist 我得到错误Operation already in progress 。
我在Debian上运行exim 4.84_2,现在几周后,我从anacron那里得到了以下邮件: /etc/cron.daily/exim4-base: LOG: MAIN Warning: purging the environment. Suggested action: use keep_environment. 我已将以下行添加到/etc/exim4/exim4.conf.template : keep_environment = 但是在运行update-exim4.conf出现以下错误: 2016-05-17 00:20:00 Exim configuration error in line 900 of /var/lib/exim4/config.autogenerated.tmp: option "keep_environment" unknown 有任何想法吗?
我的服务器在Ubuntu 14.04和nginx上运行。 我的问题涉及到Cron ,我想用cron.txt文件启动它(crontab),它的内容: * * * * * /usr/bin/php /var/www/html/test.php >> /var/log/cron.log 如果我使用命令: crontab /var/www/html/cron.txt运行它,它完美的工作,脚本test.php正在执行。 但是,当我这样做,但使用PHP脚本(通过浏览器执行): exec('crontab /var/www/html/cron.txt'); ,它不起作用。 通过命令检查当前的cronjob: crontab -l -u www-data ,出现文件中的行,但是Cron没有完成它的工作。 也许这涉及到一些权限问题? 因为它只能以root身份执行。 有没有办法迫使克朗做www数据的任务呢?