Articles of cron

Cron和rsync使用文件locking,但是在Mac OS X Server上有更好的方法吗?

我有这个bash脚本,并通过定期运行cron: #!/bin/bash RSYNC=/usr/bin/rsync SSH=/usr/bin/ssh KEY=/Users/admin/Documents/Backup/rsync-key RUSER=philosophy RHOST=example.com RPATH=data/ LPATH="/Volumes/G Technology G Speed eS/Backup" LOCKFILE=/Users/admin/Documents/backup.isrunning if [ ! -e $LOCKFILE ]; then touch $LOCKFILE $RSYNC -avz –delete –progress -e "$SSH -i $KEY" "$LPATH" $RUSER@$RHOST:$RPATH rm $LOCKFILE else echo "Rsync – Backup still running" fi 备份可能会花费任何时间,从几分钟到几天,如果我通过cron每6小时运行备份,我不想要的是同时运行的两个实例。 所以我所做的就是创build一个简单的locking机制。 但我担心,如果脚本中途死亡的原因是locking文件总是在那里,备份程序不会运行。 有没有办法提高这个更好的傻瓜certificate? 谢谢 斯科特 编辑:最后bash脚本我现在使用感谢下面的答案: #!/bin/bash RSYNC=/usr/bin/rsync SSH=/usr/bin/ssh KEY=/Users/admin/Documents/Backup/rsync-key RUSER=philosophy […]

MySQL相当于.pgpass,或者在mySQL的cron作业中进行自动authentication

我正在写一个bash脚本来备份我的数据库。 大部分是postgresql,在postgres中有一种方法可以避免通过创build包含postgres密码的〜/ .pgpass文件来进行身份validation。 我把它放在root的主目录下,并将其设置为chmod 0600,这样root就可以转储postgres数据库而无需进行身份validation。 现在我想为mysql做类似的事情,虽然我只有一个mysql数据库。 我怎样才能做到这一点? 我不想在mysqldump的命令行中指定密码,因为这是其他用户可能会看到的脚本的一部分。 有没有更好的办法(即内置到MySQL)做这个比只有root可以读取,然后阅读获取mysql密码,然后在bash脚本中使用它作为一个variables?

如何使cronjobs高可用?

使一个具有多个cronjobs的故障转移对避免两次运行这个过程是一个很好的解决scheme? 无论是在故障转移中,还是在它们之间分配作业,并且当其中一个节点发生故障时,当然能够接pipe所有作业。 我可以为此写一个脚本,但有人必须已经解决这个问题,还是这样一个不寻常的要求?

amavis cronjob从无处投掷出一个错误

有人可以解释为什么amavis cronjob突然抛出以下错误吗? Cron <amavis@bee> test -e /usr/sbin/amavisd-new-cronjob && /usr/sbin/amavisd-new-cronjob sa-sync rules: failed to run T_SPF_HELO_PERMERROR test, skipping: (Can't locate object method "check_for_spf_helo_permerror" via package "Mail::SpamAssassin::PerMsgStatus" at (eval 1156) line 19. ) rules: failed to run T_SPF_TEMPERROR test, skipping: (Can't locate object method "check_for_spf_temperror" via package "Mail::SpamAssassin::PerMsgStatus" at (eval 1156) line 614. ) rules: failed to […]

在FreeBSD中将默认的crontab编辑器更改为nano

当我使用crontab -e编辑crontab时,它会在vi中打开crontab。 我更喜欢它使用纳米。 我怎样才能改变这个? 编辑: 出于某种原因, export命令返回command not found 。 而改变EDITOR的env值对crontab -e不起作用。 以下命令在我的系统上工作: setenv VISUAL /usr/local/bin/nano

是否有可能得到一个cron工作只在几个小时之间运行?

我正在编辑一个crontab,我想每分钟运行一次,但是只能在晚上10点到凌晨2点之间运行。 在这段时间之外,我希望每10分钟运行一次,但我不确定这是否可行。 任何帮助表示感谢,谢谢。

太多的克朗 – 太多的机器!

我有以下问题: 机器太多了。 有些机器组共享相同的cronconfiguration,有些不是。 有时候,我需要在数百台机器上手动添加一个crontab条目。 我总是犯错误,我的BOSS似乎不喜欢… 有希望(有一个networking界面,GNU)有一些工具来pipe理这种事情? 感谢智者! 厘米

停止已经运行的cron作业

我有一个服务器上的PHP脚本,发送通讯电子邮件给我的网站用户使用cron作业。 用户名单大约是55,000,需要9个小时。 有什么办法可以阻止它(紧急)?

find-delete工作正常,但不与cron

请注意 : 我已经阅读了所有类似的问题。 cron,path,envvariables等,但没有发现任何解决scheme提供我的特定问题。 我有一个脚本,使一些MySQL转储,然后删除旧的像这样: /usr/bin/find "/home/bkp/dbdump" -name "*.gz" -mtime +5 -delete ( 上面的命令已经从我原来的命令修改的意见build议 ) 但是,当cron运行这个脚本时,这些文件永远不会被删除。 cron用户是root用户。 debugging笔记 如果我手动运行出现该命令的脚本,则会按预期删除它们。 如果我以root身份从命令行自己运行上面的find命令,则会按预期方式删除它们(并且使用-print它将返回如预期的早于5天的文件列表) 我也为根的crontab添加了一个显式path声明,但是 这不会改变任何东西。 Cron不会发送错误,如果我将查找操作传送给日志文件, 这是空的或根本不创造。 我正在使用Ubuntu服务器14.04.03 LTS。

为什么cron.weekly不运行?

当我注意到我放在Debian6服务器上的/etc/cron.weekly中的backupscript没有执行时,我把这个小脚本放在它里面,看看每周的cronjob是否被执行: #!/bin/bash echo 'CRON RAN' > /var/log/cron-weekly-runcheck.log 保存为 -rwxr-xr-x 1 root root 64 Jul 15 02:14 /etc/cron.weekly/runcheck.sh 当我今天检查时,它应该创build的日志文件不存在。 crontab看起来像下面这样(据我所知,这应该是默认的debian6 crontab): SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # mh dom mon dow user command 17 * * * * root cd / && run-parts –report /etc/cron.hourly 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && […]