Articles of cron

为什么cron运行两次?

我想用cron自动执行我的PHP邮件脚本。 我总是收到邮件两次。 手动启动时脚本运行正常。 我把这个放在crontab中进行testing: 54 13 * * * echo "This is a test" >> /opt/test.txt ,这两行打印到文件中。 这就是/ var / log / messages所说的: Mar 3 13:54:01 server1 crontab[22076]: (root) BEGIN EDIT (root) Mar 3 13:54:01 server1 /usr/sbin/cron[2268]: (root) RELOAD (/var/spool/cron/tabs/root) Mar 3 13:54:01 server1 cron[19402]: (root) RELOAD (/var/spool/cron/tabs/root) Mar 3 13:54:01 server1 /USR/SBIN/CRON[22085]: (root) CMD […]

可靠地运行后台操作

我正在寻找关于如何可靠运行后台操作的build议。 我有许多服务器向AWS SQS发布操作消息,而且我有另一台服务器在空闲时会运行这些CPU密集型操作。 我需要某种轮询机制来经常检查SQS,以便进行新的操作。 cron是做这件事的最好方法吗? 我正在考虑把PHP脚本放在cron中,每5分钟轮询一次 – 这是可靠的吗? 我需要确保一次处理一个操作(来自SQS的消息)。 某些处理可能需要5分钟以上 – 如果操作未决,我如何通知cron不要轮询? 我怎样才能运行操作只有当CPU空闲? PHP是否使CPU数据可用? 最重要的是,我需要这是高度可靠的。 如果一个操作的处理失败,不应该影响将来的操作。 有人能指出我正确的方向吗?

如何获得创build每日日志文件

我在运行Centos 6.5的VPS上运行一个网站,并遇到一些问题。 我刚接触serveradmin,所以刚刚学习。 顶上已经安装在我们的机器上,它的工作。 我想进入并分析历史日志,但在/ var / log / atop /中没有任何内容,atop目录在那里,但是是空的。 我以为它被configuration为默认创build日志? 手册页在这里: http : //linux.die.net/man/1/atop 我改变了cron – > /etc/cron.d/atop 0 0 * * * root /etc/rc.d/init.d/atop condrestart > /dev/null 2>&1 || : 至 0 0 * * * root /etc/atop/atop.daily 这应该得到日志文件的工作? 任何指针都会有帮助。 我正在查看,如果我的CPU使用情况在某一点疯狂,或者我用尽RAM,这就是为什么我用顶上。 谢谢。

cron任务的小时部分是6,10-12有效的语法吗?

我知道“10-12”是chron小时部分的有效范围,“6,7,8”也是avlid语法。 如果有效小时数在6和10到12之间,我可以将这两个“6,10-12”结合起来吗?

APT FATAL – >分叉失败

我看到很多关于这个问题的问题,但我的看法有些不同。 这是我收到的: /etc/cron.weekly/apt-xapian-index: FATAL -> Failed to fork. run-parts: /etc/cron.weekly/apt-xapian-index exited with return code 100 和 /etc/cron.daily/apt: FATAL -> Failed to fork. 和 /etc/cron.daily/apt: DB Update failed, database locked 我总是有至less600 MB的可用RAM。 如果我尝试手动运行sudo /etc/cron.daily/apt没有任何反应。shell挂起。 可能是什么问题呢? 编辑: Ubuntu服务器14.04

OpenShift cron不运行

我有以下文件 [subdomain.rhcloud.com minutely]\> pwd /var/lib/openshift/username/app-root/repo/.openshift/cron/minutely [subdomain.rhcloud.com minutely]\> ls -lha total 4.0K drwx——. 2 username username 24 Nov 20 21:08 . drwx——. 3 username username 21 Nov 20 20:46 .. -rwxr-xr-x. 1 username username 73 Nov 20 20:54 ticktock.sh [subdomain.rhcloud.com minutely]\> cat ticktock.sh */1 * * * * username php ../../../cron/status.cron.php [subdomain.rhcloud.com minutely]\> php ../../../cron/status.cron.php [subdomain.rhcloud.com […]

cronjob没有每天运行

我是一个Linux新手。 这就是说,我需要一个cronjob来压缩一些系统日志文件48小时后,以保持可pipe理的大小。 这些文件当前位于/ syslog中 – 我添加的一个磁盘来处理卷。 我曾经问过以前的一个问题来处理这个问题,但是在这之后,cronjob没有运行。 它应该在几个小时前运行。 我相信这项工作每天在01:00:00开始。 这是我目前的crontab。 root@mysyslogserver:/etc# more 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 / && run-parts –report /etc/cron.daily ) 47 6 * […]

通过cronjob启动Tomcat

为了确保Tomcat一直在运行,我写了下面的shell脚本 #!/bin/bash status="$(curl -s http://www.domain.com/check)" if [ "$status" != "OK" ] then /opt/apache-tomcat-8.0.15/bin/startup.sh /usr/sbin/sendmail [email protected] < email.txt fi 并通过添加到crontab */1 * * * * /opt/scripts/check.sh 现在,如果我手动closures服务器,那么我每分钟都会收到一封电子邮件,但由于某种原因,脚本不会启动Tomcat。 但是,如果我手动执行check.sh ,我收到一封电子邮件,Tomcat又开始运行。 关于为什么将脚本添加到crontab的任何想法都不启动Tomcat?

Cron错误路由到外部邮件服务器而不是本地

由于某些原因,Solaris 10系统上有cron作业的某些用户名会将cron错误发送到外部邮件服务器,以便将其路由回生成的服务器,而生成的服务器由于始终存在防火墙规则而被阻止。 例如,用户X在她的cron中有一个错误,它应该只是发送一个消息到该用户的本地mbox,而不必去外部邮件服务器来路由邮件,但发生了什么是它试图通过我的邮件发送外部邮件服务器,然后回到生成主机。 我没有为服务器上的用户configuration任何别名,并且其他用户似乎通常在本地用户邮箱中获取其cron错误。 由于外部邮件服务器产生无法传递的types错误,因此我的电子邮件将被路由到我的Outlook收件箱。 我可以使用mailx手动发送电子邮件给本地用户作为本地用户,而不会路由到外部邮件服务器。 这是从邮件服务器发送到我的收件箱的错误。 主题是“无法投递:从”cron“命令的输出”这可能没有任何帮助,因为我知道为什么这被拒绝,它应该被阻止。 真正的问题是什么让它在那里呢? 用户@ [源服务器编辑]服务器试图传递此消息,没有成功,并已停止尝试。 请尝试再次发送此消息。 如果问题仍然存在,请联系您的帮助台。 下列组织拒绝了你的信息:。 Diagnostic information for administrators: Generating server: [mail server redacted] user@[source server redacted] [source server redacted] Remote Server returned '<[source server redacted] #4.4.7>' Original message headers: Return-Path: <MAILER-DAEMON> Received: from localhost (localhost) by [mail server redacted] (8.14.5+Sun/8.14.4) id t28BQddx014210; Sun, 8 Mar […]

Logrotate脚本没有上传到S3

我正在尝试使用logrotate从我的rails和nginx命令每天上传一次日志文件。 当我手动运行logrotate命令时,文件成功上传,但是从来不会自行完成。 我曾尝试使用lastaction,也postrotate,但实际上没有上传到S3。 我错过了一些微不足道的东西吗? /home/deploy/www/mysite.com/log/*log { su daily dateext dateformat _%Y_%m_%d rotate 3 missingok dateext compress delaycompress notifempty copytruncate sharedscripts lastaction rvmsudo passenger-config reopen-logs; /usr/bin/s3cmd sync /home/deploy/www/mysite.com/log/*.gz s3://mysite_com/logs/rails/ endscript } 编辑:下面是这样做的更正方式。 因此,不要使用lastaction脚本,而是调用一个shell脚本。 lastaction ./rails_reload_and_upload.sh endscript 其中包含 #/bin/bash ./reload_rails_logs.sh /usr/bin/s3cmd –config /home/username/.s3cfg sync /home/deploy/www/mysite.com/log/*.gz s3://mysite_com/logs/rails/