crontab
1、查看服务是否运行
ps -ef | grep crond
/ect/init.d/crond status
2、启动服务
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restard //重启服务
/sbin/service crond reload //重新载入
/sbin/service crond status //查看服务状态
2、crontab语法
usage: crontab [-u
user
] file
crontab [-u
user
] [ -e | -l | -r ]
(
default
operation
is
replace
, per 1003.2)
-e (edit
user
's crontab)
-l (list user'
s crontab)
-r (
delete
user
's crontab)
-i (prompt before deleting user'
s crontab)
-s (selinux context)
其中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。
帮助:man crontab
说明:查看root的cron设置:crontab -u root -l
删除某cherry的cron设置:crontab -u cherry -r
编辑一个权限时:crontab -u root -e
每次编辑完某个用户的cron设置后,cron自动在/var/spool/cron下生成一个与此用户同名的文件,此用户的cron信息都记录在这个文件中,这个文件是不可以直接编辑的,只可以用crontab -e 来编辑。cron启动后每过一份钟读一次这个文件,检查是否要执行里面的命令。因此此文件修改后不需要重新启动cron服务。
编辑命令:
* * * * * /command path
minute hour day month dayofweek command
前五个数字:
分钟 (0-59)
小時(0-23)
日期(1-31)
月份(1-12)
星期(0-6) //0代表星期天
除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",
*代表所有的取值范围内的数字,
"/"代表每的意思,
"*/5"表示每5个单位,
"-"代表从某个数字到某个数字,
","分开几个离散的数字。
以下举几个例子说明问题:
43 21 * * * 21:43 执行
15 05 * * * 05:15 执行
0 17 * * * 17:00 执行
0 17 * * 1 每周一的 17:00 执行
0,10 17 * * 0,2,3 每周日,周二,周三的 17:00和 17:10 执行
0-10 17 1 * * 毎月1日从 17:00到7:10 毎隔1分钟 执行
0 0 1,15 * 1 毎月1日和 15日和 一日的 0:00 执行
42 4 1 * * 毎月1日的 4:42分 执行
0 21 * * 1-6 周一到周六 21:00 执行
0,10,20,30,40,50 * * * * 每隔10分 执行
*/10 * * * * 每隔10分 执行
* 1 * * * 从1:0到1:59 每隔1分钟 执行
0 1 * * * 1:00 执行
0 */1 * * * 毎时0分 每隔1小时 执行
0 * * * * 毎时0分 每隔1小时 执行
2 8-20/3 * * * 8:02,11:02,14:02,17:02,20:02 执行
30 5 1,15 * * 1日 和 15日的 5:30 执行
最后定时任务:
0 3 * * * wget -q --spider URL
--spider 坚持链接是否有效
-q安静模式没有输出
查看cron的日志: tail -f /var/log/cron