定时任务crontab说明
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。 -u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设 定自己的时程表。
常用参数
crontab -e
: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数 来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
crontab -r
: 删除目前的时程表
crontab -l
: 列出目前的时程表
crontab file [-u user]
-用指定的文件替代目前的crontab。
crontab file [-u user]
-用指定的文件替代目前的crontab。
crontab-[-u user]
-用标准输入替代目前的crontab.
crontab-1[user]
-列出用户目前的crontab.
crontab-e[user]
-编辑用户目前的crontab.
crontab-d[user]
-删除用户目前的crontab.
crontab-c dir
- 指定crontab的目录。
Crontab编辑内容格式
crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
X X X X X command
分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用或者 /1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
特殊字符:
星号:代表每的意思,例如month字段如果是星号,则表示每月都执行该命令操作。
逗号(,):表示分隔时段的意思,例如,“1,3,5,7,9”。
中杠(-):表示一个时间范围,例如“2-6”表示“2,3,4,5,6”。
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
设置大体流程
1、使用xshell 登录linux 服务器
2、 输入以下命令。查看已有的定时任务
crontab -l
3、 输入 以下命令,进入定时任务文件
crontab -e
4、 esc 键退出 :wq 保存并退出
举例: 写一个每隔 五分钟 执行的文件
/usr/local/php/bin/php /home/wwwroot/default/push.php
/usr/local/php/bin/php
: PHP 的安装路径
/home/wwwroot/default/push.php
需要执行的脚本文件
5、 查看结果 命令
crontab -l
至此,每次开机自启的定时任务设置完毕
简单示例:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
//上面的例子表示每晚的21:30重启apache。45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
//上面的例子表示每月1、10、22日的4 : 45重启apache。10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
//上面的例子表示每周六、周日的1 : 10重启apache。0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
//上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
//上面的例子表示每星期六的11 : 00 pm重启apache。0 */1 * * * /usr/local/etc/rc.d/lighttpd restart
//每一小时重启apache0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
//晚上11点到早上7点之间,每隔一小时重启apache0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
//每月的4号与每周一到周三的11点重启apache0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
//一月一号的4点重启apache
其他相关常用命令
1.检查是否安装了crontab,如果提示未安装请自行安装,crontab安装包在系统光盘里面的pacekage文件夹crontabs安装包。
rpm -qa | grep crontab
2.crontab服务启动与关闭。
/etc/init.d/crond stop
--关闭服务
/etc/init.d/crond start
--启动服务
/etc/init.d/crond restart
--重启服务
/etc/init.d/crond reload
--重新载入配置
3.crontab在/etc目录下面存在cron.hourly
,cron.daily
,cron.weekly
,cron.monthly
,cron.d
五个目录和crontab
,cron.deny
二个文件。
cron.daily
是每天执行一次的job
cron.weekly
是每个星期执行一次的job
cron.monthly
是每月执行一次的job
cron.hourly
是每个小时执行一次的job
cron.d
是系统自动定期需要做的任务
crontab
是设定定时任务执行文件
cron.deny
文件就是用于控制不让哪些用户使用Crontab的功能
4.用户配置文件:
每个用户都有自己的cron配置文件,通过crontab -e 就可以编辑,一般情况下我们编辑好用户的cron配置文件保存退出后,系统会自动就存放于/var/spool/cron/目录中,文件以用户名命名.linux的cron服务是每隔一分钟去读取一次/var/spool/cron
,/etc/crontab
,/etc/cron.d
下面
评论