我可以在crontab文件中使用C ++ / Java-style /* */语法来进行多行注释吗?
以下从命令提示符按预期工作。 但它不能从cron工作。 mysqldumpslow <(tail -1000 `mysqladmin variables \ | grep slow_query_log_file | awk '{print $4}'`) \ | mail -s "slow log from `hostname` sorted by time" shantanu.oak`hostname`@gmail.com \ > /root/slow_succ.txt 2> /root/slow_err.txt 我得到以下错误: /bin/sh: -c: line 0: syntax error near unexpected token `(' 某些angular色是否需要在cron中逃脱? 或者是在cron中的子shell的问题?
我想在9:30开始cron工作,然后每5分钟工作一次,然后每天16:30停止工作。 这种调度是可能的吗?还是我需要两个cron作业?
我编写了各种脚本来启动Java服务器应用程序,这些应用程序通常在closures之前运行24小时(通过调用具有不同参数的相同脚本)。 该脚本依赖于文件中定义的环境variables: ~/<user>.env ,它来自.bashrc 。 从命令行调用脚本时,这工作正常,但如果我想添加脚本作为crontab条目我遇到的问题,其中.bashrc不读。 我的问题:解决这个问题的最佳做法是什么? 我意识到我可以定义一个crontab条目,如: * * * * 1-5 /usr/bin/bash -c '. /home/myuser/myuser.env && /home/myuser/scripts/myscript.sh' …但这似乎很难看。 或者,我可以在每个脚本的开始处myuser.env ,但这将成为维护的噩梦。 任何帮助赞赏。
我想build立一个cron作业,recmodively做一个目录(dropbox目录)chmod / chown。 这在我手动执行这些命令时起作用,如: sudo chown -R $USER ~/Dropbox sudo chmod -R u+rw ~/Dropbox 我试图把它转换成这样的cron工作: 10 * * * * sudo chown -R $USER ~/Dropbox 但似乎没有做这项工作。 如何做到这一点?
是否有一个工具来绘制,分析和帮助优化crontab执行? 为了澄清,我正在考虑一个工具,它会生成cron作业执行的时间图,并帮助系统pipe理员巧妙地重新组织它们。
使用两个Debian服务器,我需要为cron作业build立强大的故障转移环境,一次只能在一台服务器上调用。 在/etc/cron.d中移动一个文件应该可以做到,但是有一个简单的HA解决scheme来执行这样的操作吗? 如果可能的话不要心跳;)
我有一个安装了以下软件包的CentOS 6.6服务器: crontabs-1.10-33.el6.noarch cronie-1.4.4-12.el6.x86_64 cronie-anacron-1.4.4-12.el6.x86_64 kernel-2.6.32-504.3.3.el6.x86_64 有时,计划每天运行的备份作业之一不会运行。 该脚本甚至没有根据/var/log/cron.log调用。 有趣的是,计划同时运行的其他工作运行没有任何问题。 我不能重现这个问题,也没有发现任何模式。 如果我什么都不做,那么这个工作如预期的那样在第二天正确地运行。 crond只是忽略了在特定时间应该运行的多个工作中的一个。 这只是零星发生。 我读了几个其他地方的人谈论在crontab文件的末尾添加一个空行。 偶尔无法运行的工作确实在我的crontab文件的最后一行。 我找不到任何确认,这是一个真正的或已知的错误。 # tail -2 /var/spool/cron/postgres * * * * * OTHERJOB 0 21 * * * /pg_backup.sh 这是我在/var/log/cron.log Mar 31 21:00:02 SERVERNAME [cron.info] CROND[19394]: (root) CMD (OTHERJOB) Mar 31 21:00:02 SERVERNAME [cron.info] CROND[19418]: (postgres) CMD (/pg_backup.sh) Mar 31 21:01:02 SERVERNAME […]
这是我的crontab文件的内容: 0 0,6,12,18 * * * cd /var/www/app/current && backup perform –trigger db_backup –config_file config/backup.rb –data-path db –log-path log –tmp-path tmp >> /var/www/app/current/log/cron.log 2>&1 0 3 * * * cd /var/www/app/current && RAILS_ENV=production bundle exec rake runs:populate –silent >> /var/www/app/current/log/cron.log 2>&1 59 23 * * * cd /var/www/app/current && RAILS_ENV=production bundle exec rake runs:log –silent […]
假设我有几个cron作业同时运行:它们是并行执行还是一个一个执行? (我的情况是Debian挤压与cronjobs放在/etc/cron.d/mycronjobs)。