我使用的一些命令(即 rsync)在 cron 作业中运行良好;这会不会:
find /path/to/files* -mtime +30 -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)
...还是我需要把它放到一个文件中?我很快就可以自己测试,但是询问可能会节省宝贵的时间。
我正在尝试在 Mac 10.5.8 上运行一个简单的 cron 作业。
我正在遵循这些说明。
它说要编辑/usr/crontab我不存在的文件,但我发现/usr/bin/crontab.
但是,当我这样做时,more crontab它向我展示了这一点:

如何在这台 Mac 上设置一个简单的 cron 作业?
我在白天的特定时间运行 cron 作业时遇到问题。
这个 crontab 设置会在凌晨 3 点、早上 6 点、中午、下午 6 点和晚上 9 点运行命令吗?
0 3,6,12,18,21 * * * command
Run Code Online (Sandbox Code Playgroud) 我已经在我的服务器上使用“crontab -e”通过腻子安装了以下 CRON 作业,但它无法运行,我不知道为什么。
这是我使用'crontab -e'放入并保存的行:
00 09-18 * * 1-5 /usr/bin/php5 /home/a/v/ava/public_html/p/app_availability_updates_flush.php
Run Code Online (Sandbox Code Playgroud)
这是一个简单的脚本,我想在工作时间整点运行。
当我使用“crontab -l”时,它会打印以下内容:
00 09-18 * * 1-5 /usr/bin/php5 /home/a/v/ava/public_html/p/app_availability_updates_flush.phproot@ds6639:~#
Run Code Online (Sandbox Code Playgroud)
看起来对吗?
我有一个奇怪的问题。我使用以下命令行通过控制台发送带有附件的电子邮件:
/usr/bin/mutt -s "AwStats $(date +%d.%m.%Y)" -a /path/to/file myemail@gmail.com < /dev/null
Run Code Online (Sandbox Code Playgroud)
奇迹般有效。
但我希望它通过 cron 发送,所以我创建了这个 cronjob:
@daily root /usr/bin/mutt -s "AwStats $(date +%d.%m.%Y)" -a /path/to/file myemail@gmail.com < /dev/null
Run Code Online (Sandbox Code Playgroud)
cronjob 确实被执行,但失败并显示以下错误消息:
/bin/sh: -c: line 0: unexpected EOF while looking for matching `)'
/bin/sh: -c: line 1: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud)
我不知道为什么。有人可以帮忙吗?非常感谢您!
亲切的问候-A
文档说我需要:
如果您的主机帐户在 LINUX/UNIX 系统上,您可以设置 CRON 作业以指向此 URL http://yourUrlToThisScript.com/cron.php?cron=do&d=31
尽管这是他们提供的有关如何设置 cron 的唯一信息。我知道脚本工作正常,因为当我通过浏览器访问 URL 时,我会收到电子邮件。
*/1 * * * * /usr/bin/php -q /var/www/website/public/domain-manager/cron.php cron=do&d=31 >/dev/nul虽然这不起作用并且我没有收到任何电子邮件或错误?
cron.php使其无法从浏览器执行?虽然对于单个文件而不是目录,但可能类似于这个答案。我正在编辑一个工作的 crontab,我想每小时运行它,但在特定时间运行,例如上午 10:15、上午 11:15、下午 12:15 等等。我不确定这是否可能。
每小时 0 * * * *
任何帮助表示赞赏,谢谢。
我放了一个 cron 脚本/etc/cron.d:
[root@node ~]# cat /etc/cron.d/reconfig
0 */6 * * * root /root/bin/reconfig.pl
Run Code Online (Sandbox Code Playgroud)
但是我没有得到 root 的 cron 任务列表:
[root@node ~]# crontab -l
no crontab for root
Run Code Online (Sandbox Code Playgroud)
我如何检查它是否运行正常?
它是一个 Scientific Linux 6.4 节点。
我有一个 shell 脚本,我将使用 crontab 运行它。基本上我想修改它,以便我可以在过去 3 天内每天进行备份。我看过过去 7 天是备份的例子。我只需要最后3个滚动天。我知道我必须为每周的日程安排单独的脚本。
代码:
rsync -avzh --delete XXXX@XXXXX:/home/XXXXX/source/ /$HOME/destination
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏。
我在 crontab 中有一个 Amazon Linux AMI:
0 7 * * 1 root /usr/bin/wget -q http://localhost/digest_weekly.php -O - >> /var/log/digest_weekly.log
Run Code Online (Sandbox Code Playgroud)
这会在digest_weekly.php每周一早上 7 点调用脚本。该脚本从数据库中收集一些数据并向每个用户发送一封电子邮件。它返回它发送电子邮件的所有电子邮件地址的列表。今天它必须发送 2608 封电子邮件。该脚本需要一段时间才能执行,但我在日志中看不到超时错误。
问题是邮件每 15 分钟再次发送一次。/var/log/digest_weekly.log是空的,所以我猜这项工作没有完成,并且在给它一些时间后,cron 以某种方式再次启动它。我在 Apache 访问日志中看到了这一点:
127.0.0.1 - - [23/May/2016:07:00:01 +0000] "GET /digest_weekly.php HTTP/1.1" 200 70941 "-" "Wget/1.16.1 (linux-gnu)"
127.0.0.1 - - [23/May/2016:07:15:02 +0000] "GET /digest_weekly.php HTTP/1.1" 200 70941 "-" "Wget/1.16.1 (linux-gnu)"
127.0.0.1 - - [23/May/2016:07:30:04 +0000] "GET /digest_weekly.php HTTP/1.1" 200 70917 "-" "Wget/1.16.1 (linux-gnu)"
Run Code Online (Sandbox Code Playgroud)
但在/var/log/cron我只能看到一行:
May 30 07:00:01 ip-172-31-8-62 …Run Code Online (Sandbox Code Playgroud)