定时任务的实现,可以让我们把很多重复的,有规律的事情交给机器做。我们就不用苦逼的烦躁做同一件事,这样也让我们做程序的有更多的乐趣和价值。用技术的手段解决常人花时间精力解决的问题。在Linux下实现定时任务主要有两个命令:at、crontab。今天就详细的讲解下这两个常用的。
crontab命令被用来提交和管理用户的定时任务。当安装完成,会自动启动crond进程。crond进程会每分钟检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
crontab参数:
-e:编辑该用户的计时器设置;
-l:列出该用户的计时器设置;
-r:删除该用户的计时器设置;
-u<用户名称>:指定要设定计时器的用户名称。
crontab的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下: minute hour day month week command,时间字段都是整数, command:要执行的命令,可以是系统命令,也可以是自己编写的shell脚本文件。 在以上各个字段中,还可以使用以下特殊字符:
星号(*):代表所有可能的值,全部。
逗号(,):可以用逗号隔开的值指定一个列表范围。
中杠(-):可以用整数之间的中杠表示一个整数范围。
正斜线(/):可以用正斜线指定时间的间隔频率。
crontab例子:
Highlighter">
PHP;gutter:true;">30 23 * * * /usr/sbin/httpd restart #表示每晚的23:30重启apache 45 1 5,15,25 * * /usr/sbin/httpd restart #表示每月5、15、25日的1 : 45重启apache * 23-3/1 * * * /usr/sbin/httpd restart #晚上23点到早上3点之间,每隔一小时重启apache
at用于在指定时间执行命令
at参数:
-f:指定包含具体指令的任务文件;
-q:指定新任务的队列名称;
-l:显示待执行任务的列表;
-d:删除指定的待执行任务;
-m:任务执行完成后向用户发送E-mail。
at例子:
Highlighter">
echo raykaeso at>#这个用Ctrl+d job 2 at Sat Aug 1 17:31:00 2015
原文链接:https://www.f2er.com/php/403027.html