我想每天从11:25到12:25每分钟运行一次cron。 剩下的时间它不应该运行。 我唯一的想法就是像这样使用它 25-59 / 1 11 * * * / usr / bin / perl somescript.pl 0-25 / 1 12 * * * / usr / bin / perl somescript.pl 我相信有更优雅的解决scheme,我想念。
(OS是FreeBSD 8.1) 昨天我以root用户身份添加了2行到crontab: 0 7 * * * curl –silent http://username:[email protected]/cron/execute/process/verbose/true >>/home/www/dev_mydomain_tld/logs/cron_process.log 2>&1 0 8 * * * curl –silent http://username:[email protected]/cron/execute/process/verbose/true >>/home/www/dev_mydomain_tld/logs/cron_process.log 2>&1 在shell中以root身份执行命令可以正常工作。 它只是做一些东西,并发送一些电子邮件。 第二次运行不应该发送任何电子邮件,这是由脚本处理。 因此,第二行只是为了我的testing乐趣,确保第二次运行不发送相同的电子邮件。 今天早上,我在上午7点和上午8点等待电子邮件,但是没有。 cron日志有以下告诉我 Feb 8 07:00:00 webserver /usr/sbin/cron[50878]: (root) CMD ( /usr/local/bin/bsdsar_gather) Feb 8 07:00:00 webserver /usr/sbin/cron[50881]: (root) CMD (newsyslog) Feb 8 07:00:00 webserver /usr/sbin/cron[50882]: (root) CMD (/usr/libexec/atrun) Feb […]
我有一个与cron守护进程有点问题。 我想阻止它发送特定命令的邮件。 例如,如果我有: 10 * * * * someScript1.sh 15 * * * * someScript2.sh 我想从someScript1中获取邮件,而不是从someScript2中收到邮件。 我尝试设置MAILTO=""但是这只是阻止了一切。
我有一个运行PHP脚本并创build文件(图像)的cron作业。 但是,cron作业正在运行(作为我自己的用户名),而不是apache,nobody,httpd,www …以及所有创build的文件都属于这个用户。 如果我通过浏览器运行相同的脚本,它运行为apache。 我已经用whoamitesting过了,并检查了文件权限。 问题是,如果我开发一个Web界面来删除文件(这是用户/pipe理员将如何pipe理图像),它将作为Apache运行,它将无法删除的文件,因为Apache是不是所有者,也不属于与我一样的群体。 什么是正确的方法来处理这个问题? 加我到Apache组或其他方式? 保存权限为0777的文件? 这看起来“丑陋” 尝试运行cron作为Apache? 怎么样?
可能重复: 如何运行一个cron作业? Server: nginx/0.8.54 OS: Ubuntu 11.04 Host: Rackspace UK Cloud Access: Full Root etc 我的云服务器中有一个PHP脚本: /var/www/www.site.com/web/cron_tasks.hash/report.php 我只想每天运行一次这个任务 – 时间并不重要。 如果我能在早上运行,那将是理想的。 另外我如何查看已列出的cron作业列表? 对不起,但我找不到一个Nginx的服务器问题。
我有几个简单的cron作业在root下运行。 然而,他们似乎跑了两次,我不明白为什么。 没有其他用户运行任何cron作业,唯一的cronfile是root用户。 工作完成得很好,但两次。 这里是根crontab文件: # /etc/crontab: system-wide crontab # Unlike any other crontab you don't have to run the `crontab' # command to install the new version when you edit this file # and files in /etc/cron.d. These files also have username fields, # that none of the other crontabs do. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # […]
我们正在以队列方式运行。 原因是我们是一个批量发件人(一个合法的,双重select),并经历了雅虎和Hotmail的限制。 最佳实践表明,一旦他们通知你节stream(如Yahoos TS-01或TS-02错误),你应该停止发送4小时。 如果exim处于传统设置状态,则不会发生每个发送到exim的消息被立即发送。 当它失败的时候,它会等待4个小时,但这并不能阻止它后面的500封电子邮件被同一主机试用。 在任何情况下,我的问题是这样的:我们如何强制邮件mydomain.com和hisdomain.com被强制发送立即。 我正在考虑一些可以每隔5-10分钟通过cron运行的exim命令。 在我们派出一个大型派遣之前,我们总是给这2-3个领域发一个testing,但现在我们等了30多分钟才能检查交付(由于它正在排队)。 我知道你可以强制发送一个消息,但是这需要它的messageID,所以我想我需要把一个把这些域的IDS和一个迫使它们的IDS结合起来的命令……我只是不知道该怎么做这个。
我如何加载用户环境variables在cronjob? 我有一个应该在Ubuntu机器上每分钟启动一个脚本的cronjob: * * * * * /home/user/myscript.sh; 在这个脚本中,我想使用像$JAVA_HOME和$M2_HOME这样的环境variables来自动启动一个构build过程。 问题是这些variables是通过export JAVA_HOME=/../..在.bashrc中设置的。 因此,在执行我的脚本之前,我会提供这些文件: * * * * * source ~/.bash_profile; source ~/.bashrc; /home/user/myscript.sh; 但是,variables没有设置! 为了testing这个,我通过env将环境variablesecho显到日志文件中: env >> ~/env.log echo $M2_HOME >> ~/env.log 日志文件仍然不包含variables。 只有以下内容被追加到文件(无$M2_HOME等): LANGUAGE=en_US:en HOME=/home/user LOGNAME=user PATH=/usr/bin:/bin LANG=en_US.UTF-8 SHELL=/bin/sh PWD=/home/user 如果我在shell中运行脚本,所有的variables都会打印到env.log 。 当我将source放入脚本文件时,情况也是如此。 只有在声明variables之前删除了export关键字,它才能被echo $var命令看到。 但这不是一个解决scheme,因为我不pipe理这些声明。 我尝试了@tripplee与有限的SH壳问题的解决scheme,但它仍然无法正常工作。 我进一步减less到一个非常简单的cronjob没有第二个脚本来显示问题: * * * * * . $HOME/.bash_profile; […]
具体来说,我试图在Ubuntu服务器(hardy LTS)下保持一个干净的cron.log。 除了预装的4或5个cron作业之外,我还添加了4个我自己的作业(使用cron.d方法)。 现在,其中一个自动安装的作业是每小时运行一次的PHP会话过期脚本。 它需要被执行,当然,但坦率地说,我不在乎什么时候执行。 它每小时运行一次,输出类似于下面的条目。 Oct 18 02:17:01 cobalt /USR/SBIN/CRON[18160]: (root) CMD ( cd / && run-parts –report /etc/cron.hourly) Oct 18 02:39:01 cobalt /USR/SBIN/CRON[18233]: (root) CMD ( [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -r -0 rm) 由于这样每执行一个小时就会产生一个比较长的日志条目,所以它占了我的cron.log的90%。 如果我正在浏览日志文件,以确保我的日常备份脚本等被执行,他们会被所有这些条目吞下。 有没有办法让我排除这个过程被logging? 我意识到我可以使用grep或日志读取器程序来search,但这不是我正在寻找的东西。 我只想能够“cat […]
我想在PHP中开发几个脚本,将调用以下命令; 使用exec()函数 service network restart crontab -u root /xyz/abc/fjs/crontab 等等 问题在于,Apache以脚本的身份执行脚本(我在CentOS 5上),无论是将apache添加到wheel还是做好,坏的和丑陋的组分配都不运行命令(如上所述)。 以下是我的configuration; 我的/ etc / sudoers root ALL=(ALL) ALL apache ALL=(ALL) NOPASSWD: ALL %wheel ALL=(ALL) ALL %wheel ALL=(ALL) NOPASSWD: ALL 正如我已经尝试与sudoer&httpd.conf的几个组合,最近的httpd.conf看起来如下; 我的httpd.conf User apache Group wheel 我的PHP脚本 exec("service network start", $a); print_r($a); exec("sudo -u root service network start", $a); print_r($a); 产量 Array ( [0] […]