Articles of cron

cron + pam大量垃圾邮件我的日志

每分钟两次我在auth.log得到这个: May 12 15:21:01 ruptai CRON[25303]: pam_unix(cron:session): session opened for user root by (uid=0) May 12 15:21:01 ruptai CRON[25303]: pam_unix(cron:session): session closed for user root 这永远不会停止,每一分钟,每一分钟的两次。 我不知道这是什么,我只是想阻止它从毫无意义的日志logging这个东西。 这已经持续了很长时间,所以我不记得它何时开始。 操作系统是debian稳定的。 顺便说一句,我发现谷歌上的问题,但没有答案 更新: 在/etc/pam.d/还有四个名为common- *的文件,其他文件包含在其中。 共AUTH: auth required pam_unix.so md5 普通账户: account required pam_unix.so md5 常见的会话: session required pam_unix.so md5 常见的密码: password required pam_unix.so nullok obscure min=4 […]

知道在cron每周运行之前剩下多less时间?

我在Debian 6上。 有没有办法看到cron每周开始前还有多less天?

用$(date)命令和redirect的Cron作业将不会运行

这是我试图每晚运行的cron工作: 0 20 * * * /data/code/scripts/foo.sh >/root/foo.$(date +%Y-%m-%d-%T).log 2>&1 当我从命令行运行它,它工作正常。 但是Cron似乎还没有尝试运行它。 思考?

sh脚本如何确定它是否是作为cron作业而不是交互式或背景?

我想为cron和交互式使用相同的脚本,只是想知道在UNIX / Linux系统上是否有通用的方法来轻松地做出这个决定。

以编程方式将两行添加到crontab

我正在尝试在构buildAWS实例时将两行添加到root crontab。 我有一组命令是“用户数据”的一部分。 这些命令在创build实例时以root身份运行。 我想将这两行添加到crontab中: @daily /home/ubuntu/db-backup-to-s3-daily.sh @hourly /home/ubuntu/db-backup-to-s3-hourly.sh 我正在使用以下方法(基于对此问题的回答 ): (crontab -u ubuntu -l ; echo -e "@daily /home/ubuntu/db-backup-to-s3-daily.sh\n@hourly /home/ubuntu/db-backup-to-s3-hourly.sh") | crontab -u ubuntu – 但是,当创build实例时,这不起作用,但是如果我login并运行这一行,它就可以工作。 有没有什么不同的方式,我可以将行追加到crontab?

使用systemd服务单元的Restart&RestartSec还是使用systemd定时器单元更好?

我有一些定期运行的内部自动化脚本。 一个是每五分钟一个,另一个是每分钟。 他们并不需要在点上跑; 例如我不在乎他们是在12:00,12:05等还是在12:03,12:08等运行,我只需要一个稳定的时间间隔。 目前,我有crontab以指定的时间间隔运行这些脚本。 但是,在同一台机器上,我也有自定义的内部systemd服务单元文件。 我很好奇将脚本移动到systemd服务单元和定时器文件,还是使用带有Restart和RestartSec指令的systemd服务单元文件更好。 让我知道如果我需要重新措辞或如果我不清楚。 具体来说, systemd.service单元的定义将Restart=always和RestartSec=300翻译为“每隔五分钟总是运行一次而忽略上一次运行的退出代码”的同义词。 但是,也有systemd.timer单位可以configuration做相同的,但可能与特定的退出代码,如只成功退出。 我正在寻找两者的优点和缺点。 谢谢!

如何在每个月的最后一天安排Cron工作

我想安排第二个到每个月的最后一天的任务。 我已经阅读了这篇关于shell脚本执行的文章 。 我也看到你可以用“L”来代表月份的最后一天,但是我使用的是CentOS,不能使用“L”结构 。 我想在每个月的第二天的晚上11点运行任务。 我希望能够构build一个类似于以下的命令: 0 23 27-30 * * [ "$(date +%d -d tomorrow" = "L" ] && $HOME/path/to/script 知道我不能用L代表月份的最后一天,我怎样才能用这个逻辑来安排我的Cron工作?

如何安排Cron以特定间隔运行?

我有6个脚本,每个脚本需要20分钟的时间才能运行,我想安排cron在偶数小时以00,20和40运行第一个3,在偶数小时运行第二个3。 我怎么能告诉cron做这个? 是这样的: 0 2,4,6,8,10,12,14,16,18,20,22,24 * * * root Script1 20 2,4,6,8,10,12,14,16,18,20,22,24 * * * root Script2 40 2,4,6,8,10,12,14,16,18,20,22,24 * * * root Script3 0 1,3,5,7,9,11,13,17,19,21,23 * * * root Script4 20 1,3,5,7,9,11,13,17,19,21,23 * * * root Script5 40 1,3,5,7,9,11,13,17,19,21,23 * * * root Script6

克朗运行我的脚本,但脚本不会做任何事情,与邮件错误? “得到状态0x004b#012”

我pipe理的一个Ubuntu 10.10 Web服务器有一个严重的问题。 我使用ruby和rake编写了一个脚本来运行一些tar命令并执行数据库的mysqldump。 我已经在root用户crontab中安装了一个条目,如下所示: 0 0,12 * * * /bin/bash -l -c 'cd /my/script/path && rake backup:everything' 这在其中一台服务器上是完美的。 然而另一方面,这似乎并没有执行我脚本中的内容。 我知道这是要求确定,因为当我跑步 grep CRON /var/log/syslog 它返回: Mar 22 12:00:01 ServerName CRON[10273]: (root) CMD (/bin/bash -l -c 'cd /my/script/path && rake backup:everything') 但是,这绝对不是在做什么脚本。 当我直接运行这样的脚本: cd /my/script/path && sudo rake backup:everything 它完美的作品。 另外我在两台服务器的crontab中都这样做了: 0 0,12 * * * […]

我如何杀死一个失控的cronjob

我有一个被设置为不断运行的cronjob。 这是一个从twitter发送数据的php文件。 然而,twitter每隔一段时间就会closures,或者我们失去连接,所以我有cron检查每分钟来尝试运行该文件。 php脚本检查一个locking文件,以确保多个副本不运行。 事情是这个脚本将运行几个小时,我想能够杀死它。 不过,我似乎无法使用类似的命令find它 ps ux cronjob是从我的用户开始的,我曾经看过在root下看到它。 我似乎无法find运行的进程。 我在用 /usr/bin/php /var/www/twitter/stream.php 在我的cron文件中执行,我知道它正在运行,因为它每分钟写一个文件到一个目录。 我可以停止cron,但这个过程继续下去,我只需要杀死它。 不知道这是否属于这里或堆栈溢出。