Articles of cron

从cron运行rsync脚本…不能识别–max-size参数

这是一个棘手的问题: 我有一个cron作业,运行一个脚本,里面有很多rsync命令。 出于某种原因,在为每个rsync命令添加–max-size = 2G参数之后,作业错误会显示以下内容: ++++START+++++++++++++++++++++++++++++++ Tue Mar 9 16:53:00 EST 2010 rsync: –max-size=2G: unknown option rsync error: syntax or usage error (code 1) at main.c(1023) real 0m0.018s user 0m0.011s sys 0m0.006s —-END FONTS——————————- Tue Mar 9 16:53:00 EST 2010 ————————————– 这是我的cron: SHELL=/bin/sh PATH=/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin #min hour mday month wday command #testing 53 16 * * […]

testing申请时间

我们已经开发了一个内部应用程序,有几个相关的cron在白天的某个时间执行。 这些crons的devise方式是确保他们忽略,例如,在上午7点之前执行,或者每天或每周执行一次。 select这种特定的方法是为了确保在任何人不在办公室时(例如),当前的任务不会被执行,而且如果cron以某种方式执行失败,也允许每X分钟运行一次以“重试”服务器有一些停机时间作为额外的奖金)。 此外,软件的某些部分依赖于当前系统的date,通知其中一个API使用了某些操作,例如删除程序中已经过期的远程对象。 这些部分要么由crons调用,要么由某个用户(在当前时间进行检查)或远程API调用。 我们现在正在和几个最终用户一起testing这个应用程序,我们希望创build一个完全可操作的环境。 但是,由于应用程序中的大部分周期需要一年左右的时间才能完成,因此我们正在寻找使服务器时间“更快运行”的方法,即每个实际分钟左右的一天。 不过,我们还需要每天的每一小时访问,以确保一切顺利。 在testing过程中,服务器的有效时间将会增加1440次。 在Linux(CentOS)服务器上是否有一些“很好”的方法来完成这个工作,还是让另一个cronjob增加时间的唯一方法? 这种方法有缺点吗?

在web主机中找不到`find`命令,如何使用其他命令实现基于修改时间的删除?

我正在为DataFlame上的Web托pipe客户端创build一个简单的数据库备份解决scheme。 networking托pipe帐户提供了访问cron,但不是一个shell。 我有一个数据库备份脚本创build定期备份,我想自动删除那些超过N天。 我试图使用 find -v $backup_dir -mtime +$keep_days -name "*db.tar.gz" -delete 但是执行该脚本的用户不具有运行find权限。 你可以build议如何实现这个,而不使用find命令?

at命令生成的环境variables

我使用exec()从PHP运行at命令后,用cat检查/var/spool/cron/atjobs/a001cf01570e44 。 它看起来像是at脚本中join了许多APACHE环境variables。 #!/bin/sh # atrun uid=33 gid=33 # mail www-data 0 umask 22 APACHE_RUN_DIR=/var/run/apache2; export APACHE_RUN_DIR APACHE_PID_FILE=/var/run/apache2.pid; export APACHE_PID_FILE PATH=/usr/local/bin:/usr/bin:/bin; export PATH APACHE_LOCK_DIR=/var/lock/apache2; export APACHE_LOCK_DIR LANG=C; export LANG APACHE_RUN_USER=www-data; export APACHE_RUN_USER APACHE_RUN_GROUP=www-data; export APACHE_RUN_GROUP APACHE_LOG_DIR=/var/log/apache2; export APACHE_LOG_DIR PWD=/home/jordanarseno/webroot/public_html/myapp; export PWD cd /home/jordanarseno/webroot/public\_html/myapp || { echo 'Execution directory inaccessible' >&2 exit 1 } curl -k […]

cron和atd是否使用相同的用户,权限和环境来运行作业?

通过cron运行bash脚本和通过atd运行脚本有什么区别? 有什么区别吗? 发行版是否特定? 如果是这样,SLES 11呢?

有没有cron.d文件的语法检查器?

在/etc/cron.d文件中是否有一个lint工具或命令行语法检查器? 我在一个支持团队工作,并且已经知道团队的一些成员将crontab和/etc/cron.d (即省略了用户)的语法混合起来,并且由于这样的条目会导致文件中的所有条目失败,我想能够testing在/etc/cron.d给定文件中的条目,以确保语法是正确的,然后cron作业开始失败。 我已经通过cron(8)手册页阅读,search谷歌和serverfault cron.d lint和cron.d syntax checker没有成功。

从命令行发送简单的HTML电子邮件?

我有一个cron作业,产生一个资源列表,到期date和到期date。 该报告生成一个CSV文件。 我使用mutt -a report.csv将其附加到消息中。 我也想在邮件的正文中包含信息。 我使用gawk将其格式化为简洁的线条,并将其添加到正文中。 它看起来像这样: Resource Expiration Date Days ======================================== ========================= ======== resource one Oct 11 2009 07:59 PM 3 resource two Nov 3 2009 07:59 PM 22 resource three has a longer name Nov 6 2009 07:59 PM 28 rscrc 4 Dec 8 2009 07:59 PM 58 you get the point […]

crontab – 安排一项工作,每小时运行6分钟,然后每15分钟运行一次

我试图安排一个工作,每小时开始6分钟,然后每15分钟运行一次。 所以它在10:06然后10:21,10:36,10:51开始。 我知道一种方法是:06,21,36,51 * * * * / bin / foo 但是,为什么不这样工作:06/15 * * * *

Ubuntu的 – cronjob失败,退出代码2

我已经安装了以下crontab – sudo crontab -e 01 21 * * * /usr/local/bin/sqlbackup.sh -e 这应该每天晚上21.01运行sqlbackup.sh,但它永远不会运行。 这里是错误日志 cron[2339]: (root) RELOAD (crontabs/root) CRON[31600]: (root) CMD (/usr/local/bin/sqlbackup.sh -e) CRON[31599]: (CRON) error (grandchild #31600 failed with exit status 2) CRON[31599]: (CRON) info (No MTA installed, discarding output) 我已经将权限设置为777,并且所有者是root。 我可以通过input上面的文件path来运行该文件。

还有什么替代scheme来运行计划的工作?

我们使用cron来pipe理多个位置的备份和其他工作。 使用厨师填充cron.daily,cron.hourly等文件到目前为止,我们工作得很好,但有一些问题: 我不想为了接收cron输出而在系统上pipe理邮件服务器 如果没有任何错误,我希望能够把输出放在我的cron作业中,而不会收到有关它们的电子邮件 我不想检查/ var / log / messages来查看作业是否失败而没有输出 我不想login到系统,发现备份作业仍在运行 最好,我想要一个基于Web的前端,我可以用它来查看这些信息,作为cron的扩展或完整的replace。 我可以用一些脚本来自己解决上述问题,但是我相信这是别人已经解决的问题。 请注意,我承认,在完成备份后,这是一个完全独立的问题。