Articles of cron

运行letsencrypt的certbot作为cron作业时的不同行为

按照本指南,我在Ubuntu 14.03上安装了letsencrypt: https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-14-04 我还创build了一个cron作业来进行证书更新(如指南中所述),但后来发现以下问题: certbot-auto renew (作为非root用户), sudo certbot-auto renew在从命令行进行testing时同时sudo certbot-auto renew (certbot报告证书尚未到期(如预期的那样) 但是,当相同的命令由cron(以root身份)运行时,certbot会尝试自行升级。 任何想法,为什么我得到这种不同的行为? 在shell控制台上手动运行命令并使其通过cron运行有什么区别? 更新:我添加了–no-self-upgrade但没有任何区别。 在进一步调查中,我注意到以下几点 sudo certbot-auto renew –dry-run正常工作 sudo su; certbot-auto renew –dry-run sudo su; certbot-auto renew –dry-run尝试首先升级certbot 出于某种原因,certbot似乎认为它没有正确安装在第二种forms运行时。

Cron:只有当输出包含string时才发送邮件

如果输出( stderr )包含某个string,我可以让原因cron只发送电子邮件吗? 我知道这个答案,但我运行的命令不区分stdout / stderr ,它总是只输出到stdout ,所以我需要寻找一个string。 到目前为止,我得到了这个,它基本上工作除了grep不传递给邮件命令的输出,所以我只是得到一个空的电子邮件: 0 5 * * * root mycommand | grep -q 'Renewal was done' && mail -s 'Renewal completed' [email protected] 我如何从电子邮件中的mycommand获取整个输出?

从这个厨师食谱cron在哪里?

我已经添加了,并成功地设置和部署一个实例与这个配方: cron "haproxy_log" do command "logrotate /etc/logrotate.d/haproxy" minute '15' end 但是,当我看着/etc/crontab我没有看到它在那里。 cron厨师在哪里做cron工作? 当我做sudo crontab -u root -l我看到我的工作。 但是如何在/etc/crontab中看不到呢? cron不能运行,但是我可以通过执行以下命令来手动运行命令: sudo logrotate /etc/logrotate.d/haproxy – 为什么发生这种情况?

防止cron作业重复

我发现这个有趣的页面 ,提出了几个select: 创build一个锁文件 创build一个PID文件。 flock solo 但是他的select呢? 检查ps ,看看执行的命令是否正在运行。 ( ps-check.sh脚本甚至可以包含在您创build的每个cron作业的开始处。) 我假设我没有遇到这种解决scheme的原因是这是一个坏主意。 为什么这是一个坏主意? 如果命令已经运行, ps-check.sh可以返回1。 cron脚本可以像这样调用ps-check.sh : #!/bin/bash #some script #get current script name into variable #then use ps-check.sh to see if current script is already running #by supplying it with 2 things: script name and current PID me=`basename "$0"` if (( $(ps-check.sh $me $$) […]

确保cronjob正在工作!

我怎么能使我把它放在crontab中的每一件事情都工作? 有没有cron的日志,看看是否成功工作?

如何在Linux(Debian)中编写这个简单的cronjob?

我需要帮助使cronjob在Linux(Debian)中正常运行。 (这是我的第一个)。 我需要一个文件每小时“运行”一次的次数。 我得到了这个: crontab -e 没有根的crontab – 使用一个空的 编辑的crontab文件:0 2-21 * * * /www/file.php crontab:安装新的crontab 这是为了使cronjob运行在凌晨2点(或200小时),每小时运行直到2100小时。 我检查了数据库,看看该文件是否在2:10做了它的事情,没有任何改变,所以显然没有运行。 我对Linux相当陌生,所以可能有办法看看发生了什么,但是我真的很想知道在我进入诊断之前我是否正确地编写了Cronjob指令。

审计cron作业的CPU和内存使用情况

我有一个运行大量cronjob的系统。 看来这些cron中的一个正在消耗过多的CPU和内存。 有没有简单的方法来审计cron作业的CPU和内存使用情况?

可以启动 – 停止 – 守护进程只能运行为su

Ubuntu Lucid。 我正在写一个程序的开始/停止脚本。 程序应该由crontab启动/停止。 作为程序用户运行它,错误消息:找不到start-stop-daemon命令。 但是,如果我使用sudo start-stop-daemon来尝试它,它就可以工作。 有没有办法让它在程序用户crontab上运行?

Bash脚本跨networking复制文件无人看pipe?

我想创build一个脚本来执行一系列的scp命令。 这将从networking上的另一台计算机上的一组特定的文件拉到本地计算机上的特定目录。 注意事项的authentication注意事项是什么? IE浏览器将最终成为一个cron工作,那么处理密码挑战的最好方法是什么?

没有PHP二进制文件的PHP Cron作业?

我期待运行一个cron作业的PHP脚本,但似乎我没有一个PHP二进制文件。 看起来我没有将PHP安装为CGI,所以如果不重新安装/configuration我的PHP,运行php文件的最佳方式是什么? 我宁愿没有公开的文件,所以像wget一些解决scheme似乎有点黑客。 谢谢!