【发布时间】:2014-03-25 21:18:48
【问题描述】:
我需要一个 crontab 语法,它应该每分钟执行一个特定的 PHP 脚本/var/www/html/a.php。每分钟的执行必须从 00:00 开始。另一个必须在 00:00 /var/www/html/reset.php 执行脚本的任务(每 24 小时执行一次)。
【问题讨论】:
标签: crontab
我需要一个 crontab 语法,它应该每分钟执行一个特定的 PHP 脚本/var/www/html/a.php。每分钟的执行必须从 00:00 开始。另一个必须在 00:00 /var/www/html/reset.php 执行脚本的任务(每 24 小时执行一次)。
【问题讨论】:
标签: crontab
每分钟:
* * * * * /path/to/php /var/www/html/a.php
每 24 小时(每个午夜):
0 0 * * * /path/to/php /var/www/html/reset.php
有关 crontab 的工作原理,请参阅此参考:http://adminschoice.com/crontab-quick-reference,以及用于构建 cron jobx 的便捷工具:http://www.htmlbasix.com/crontab.shtml
【讨论】:
这是/etc/crontab的格式:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
我建议将其复制并粘贴到您的 crontab 文件的顶部,这样您就可以随时获得参考。 RedHat 系统默认就是这样设置的。
每分钟运行一次:
* * * * * username /var/www/html/a.php
每天午夜运行某事:
0 0 * * * username /var/www/html/reset.php
您可以在命令中包含 /usr/bin/php 来运行,也可以使 php 脚本直接可执行:
chmod +x file.php
用 shebang 启动你的 php 文件,以便你的 shell 知道使用哪个解释器:
#!/usr/bin/php
<?php
// your code here
【讨论】:
/etc/crontab的格式,是一个system的crontab文件。 user crontab 具有不同的格式,它不包括用户名字段,因为它以提交它的用户身份运行。如果你想以非 root 用户的身份运行一个 cron 作业,你应该使用crontab 命令来提交它(而不用担心 crontab 的存储位置)。除非你真的需要,否则不要乱用/etc/crontab。