使用crontab每分钟执行一次脚本,每24小时执行一次脚本

Mic*_*el 313 crontab

我需要一个crontab语法,它应该/var/www/html/a.php每分钟执行一个特定的PHP脚本.每分钟的执行必须从00:00开始.另一个必须在00:00执行脚本的任务/var/www/html/reset.php(每24小时一次).

Jan*_*čič 582

每一分钟:

* * * * * /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

  • 不幸的是,你不能比每分钟更频繁地运行cron作业.你必须为此使用别的东西. (26认同)
  • JanHančič,你可以做到这一点.您只需要使用此处描述的简单技巧:http://stackoverflow.com/a/1034304/1580615 (8认同)
  • 亲爱的简!很好的答案.每隔30秒运行一次cron怎么样?是这样的吗?*****/30/path/to/php /var/www/html/a.php? (2认同)

Gre*_*reg 373

这是/ 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
Run Code Online (Sandbox Code Playgroud)

我建议将其复制并粘贴到crontab文件的顶部,以便始终使用该参考.RedHat系统默认以这种方式设置.

每分钟运行一次:

* * * * * username /var/www/html/a.php
Run Code Online (Sandbox Code Playgroud)

要在每天的午夜运行一些东西:

0 0 * * * username /var/www/html/reset.php
Run Code Online (Sandbox Code Playgroud)

你可以在命令中包含/ usr/bin/php来运行,或者你可以让php脚本直接执行:

chmod +x file.php
Run Code Online (Sandbox Code Playgroud)

用shebang启动你的php文件,这样你的shell就知道要使用哪个解释器:

#!/usr/bin/php
<?php
// your code here
Run Code Online (Sandbox Code Playgroud)

  • 这是`/ etc/crontab`的格式,它是*system*crontab文件.A*user*crontab具有不同的格式,不包括用户名字段,因为它以提交它的用户身份运行.如果要以非root用户身份运行cron作业,则应使用`crontab`命令提交它(而不用担心crontab的存储位置).除非你真的需要,否则不要乱用`/ etc/crontab`. (41认同)