我想有一个单独的文件夹的cron工作,如: /mydata/cronjobs 现在在那个文件夹中,我想拥有像backup_server这样的文件,内容如下: 30 3 * * 1-5 /home/user/scripts/backup.sh 30 3 * * 1-5 /home/user/scripts/backup2.sh 同样,我想为每个单独的cron作业在该目录中有更多的文件,这样我可以集中和分离一个文件夹中的cron作业。 我怎样才能让root运行那个文件夹中的所有文件的作业?
RHEL6在root的crontab中有: * 21 * * * /root/script.sh 在script.sh中有一行: /usr/bin/sudo -u jira bash -c 'cd /opt/jira/bin; ./stop-jira.sh' && echo "Jira Shut Down" >> /root/debuglog /usr/bin/sudo -u jira bash -c 'cd /opt/jira/bin; ./stop-jira.sh' && echo "Jira Shut Down" >> /root/debuglog 该命令在普通shell中执行,但在从cron运行时不执行。 cron进程正常工作,脚本的其余部分正确执行,只是sudo部分不起作用。 我已经更新了脚本:换sudo su并在另一个脚本中testing,它似乎工作。 我会testing今晚的实际脚本,然后更新这个post。 sudo su改正了这个问题。 谢谢
我在问这个问题,因为我在这里找不到答案: 为什么我的crontab无法正常工作,我该如何排除故障? 上下文 我们有几个运行debian / wheezy的服务器。 一个备份任务要求我们在备份过程中停用特定用户的crontab,所以我们有一个脚本,每天运行一次,这个脚本大致是这样的: # user is legec : # save the crontab to a file crontab -ulegec -l > /home/legec/.backup/crontab # empty the crontab echo "" | crontab -ulegec backup … # reload crontab cat /home/legec/.backup/crontab | crontab -ulegec 而且这个工作正如我们所期望的,绝大多数时候都是这样 该任务在〜80台服务器上运行; 取决于服务器,备份任务将需要1分钟到2小时。 窃听器 偶尔,cron将不会检测到最后一次重新加载,并且不会执行crontab中列出的任何作业。 /var/spool/cron/crontabs/legec具有预期的内容,修改date: $ ls -lh /var/spool/cron/crontabs/legec -rw——- 1 […]
我有一个运行磁盘快照的命令(在EC2上,冻结一个XFS磁盘并运行一个EBS快照命令),它被设置为定期运行一个cron作业。 理想情况下,如果磁盘在计划运行的那一刻被大量使用,我希望能够使命令延迟一段时间。 恐怕使用nice / ionice可能没有适当的效果,因为我希望脚本在运行时(即等待好时间,然后快速完成)以高优先级运行。 谢谢。 更新 : 这是我最终去的。 它会检查/ proc / diskstats并在当前IO活动达到0时运行我的作业,或者我们超时。 当我看看我们的服务器在生产中实际获得什么样的IO活动时,我可能不得不调整这个: #!/bin/bash DEVICE=sdf # we want to make a snapshot when IO in progresses reaches this: LOW_THRESHOLD=0 TIMER=0 MAX_SEC_DELAY=120 # Get the number of IO operations in progress: ioInProgress(){ grep $DEVICE /proc/diskstats | awk '{print $12}' } # Wait for a good […]
我正在尝试设置一个cron来运行这个命令: rsync -e "ssh -i /home/ldsmp3/ssh-key -o GSSAPIAuthentication=no" -az /home/ldsmp3/public_html [email protected]:remote-dir%%bak-ldsmp3.com%%myid%%mykey 当我在terminal上运行上面的命令,它工作得很好。 但是,当我通过cron运行相同的命令,它失败,并发送给我一个电子邮件,其中包含以下内容… Host key verification failed. rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: unexplained error (code 255) at io.c(463) [sender=2.6.8] 我一直在网上search几个小时,试图找出如何解决这个问题,但迄今为止我没有尝试过的工作。 任何想法如何让这个命令通过cron正常工作? 谢谢! 编辑:哦,我试图运行我的专用服务器上运行Centos 5.5这个命令
我已经看到了与我的问题有关的主题的数量,但他们没有回答。 克伦在哪里查找时区? root@awesome:~# date Fri Feb 17 14:02:02 EET 2012 root@awesome:~# hwclock -r Fri 17 Feb 2012 14:03:39 EET -0.815689 seconds 但克伦仍然在GMT时区工作。 (我必须使每个cron工作+ 2h,使其正常运行时间) 时区configuration是否有错误? 或者在Debian Linux上有更多的时区configuration,而且我configuration错了吗? (我已经通过tzselectconfiguration了我的时区
我有一个从交互式shell运行良好的crontab脚本。 但是,从crontab运行时,它会失败,因为它不运行/etc/profile.d/中的脚本(例如/etc/profile.d/java.sh) 什么是解决这个问题的最好方法?
每个新的服务器至less有一个每日crontab电子邮件。 FreeBSD服务器甚至发送两个:每日和一个安全运行输出。 由于我对虚拟化的痴迷,我需要阅读的电子邮件数量(并且经常在没有进一步操作的情况下放弃)变得太多了。 有什么方法来pipe理/自动化这个过程? 电子邮件能被基于networking的东西取代吗? 当然,你们中的一些人一定为此find了创造性的方法。
最近我写了一个简单的小脚本来备份一个目录到S3。 我的目标是运行每日,每周和每月的备份,根据S3中的频率有不同的保留规则。 除了一个例外,一切都很好。 我每周工作的cron作业。 这是crontab: 0 3 1 * * /usr/s3_sync_dir /dropbox MONTHLY 0 2 2-31 * THU /usr/s3_sync_dir /dropbox WEEKLY 0 3 2-31 * * /usr/s3_sync_dir /dropbox DAILY 所以MONTHLY的工作每个月都会在凌晨3点运行。 如果不是第一天,那么每周四应该在凌晨2点运行。 DAILY每天运行的不是第一次。 这个在线validation器确认每周四应该运行。 任何人都有想法,为什么我的每周工作每周上class? 这是在Ubuntu 16.04.2 LTS。
我有一堆每30分钟运行一次的cron作业。 我目前正在做一些testing,而不是设置每分钟运行cron作业,是否有一个命令,我可以执行,将立即运行cronjobs? 谢谢你的帮助。