crontab简介
liunx用来定时执行程序的命令
crontab参数
Usage:
crontab [options] file
crontab [options]
crontab -n [hostname]
Options:
-u <user> define user
-e edit user's crontab
-l list user's crontab
-r delete user's crontab
-i prompt before deleting
-n <host> set host in cluster to run users' crontabs
-c get host in cluster to run users' crontabs
-s selinux context
-x <mask> enable debugging
crontab常用指令
crontab -l 查看crontab任务
crontab -e 编辑crontab任务
crontab -r 删除crontab任务
crontab时间格式
f1 f2 f3 f4 f5 command
1. f1表示分钟,f2表示小时,f3表示一个月中的第几日,f4表示月份,f5表示一个星期中的第几天,command表示要执行的程序
2. f1为*时表示每分钟执行一次command,f2为*时表示每个小时执行一次command,其余类推
3. f1为a-b时表示从第a分钟到第b分钟这段时间内执行,f2为a-b时表示从第a小时到第b小时执行,其余类推
4. f1为*/n时表示每n分钟个时间间隔执行一次,f2为*/n表示每小时个时间间隔执行一次,其余类推
5. f1为a,b,c,...时表示第a,b,c,...分钟执行,f2为a,b,c,...时表示第a,b,c,...个小时执行,其余类推
格式简略图
* * * * * command
- - - - - -
| | | | | |
| | | | | +- 执行程序
| | | | +----- 星期 (0 - 7) [0/7表示星期日)]
| | | +---------- 月份 (1 - 12)
| | +--------------- 日期 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
使用者也可以将所有的设定先存放在文件中,用 crontab file 的方式来设定执行时间。
应用实例
# 每分钟执行一次
* * * * * command
# 每5分钟执行一次
*/5 * * * * command
# 每小时的第5分钟和第10分钟执行一次
5,10 * * * * command
# 每个小时的第5分钟至第十分种每分钟执行依一次 闭合区间 5分钟00和10分钟00都会执行 会执行6次
5-10 * * * * command
# 每个小时的第5分钟至第十分种每2分钟执行依一次 闭合区间 5分钟00和11分00都会执行
5-11/2 * * * * command
# 每天凌晨1点钟之内的每分钟执行一次(1-2点钟之间)
* 1 * * * command
# 每天1点30分执行一次
30 1 * * * command
# 4月份每天凌晨1点到9点每隔1个小时0分钟执行一次
0 1-9 * 4 * command
# 4月份每天凌晨1点到9点每隔2个小时的0分钟执行一次 1 3 5 7 9
0 1-9/2 * 4 * command
# 每月5号凌晨2点30分执行一次
30 2 5 * * command
# 周一到周五每天中午12点执行一次
0 12 * * 1-5 command
------copy from runoob------
0 */2 * * * /sbin/service httpd restart 意思是每两个小时重启一次apache
50 7 * * * /sbin/service sshd start 意思是每天7:50开启ssh服务
50 22 * * * /sbin/service sshd stop 意思是每天22:50关闭ssh服务
0 0 1,15 * * fsck /home 每月1号和15号检查/home 磁盘
1 * * * * /home/bruce/backup 每小时的第一分执行 /home/bruce/backup这个文件
00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。
30 6 */10 * * ls 意思是每月的1、11、21、31日是的6:30执行一次ls命令
参考链接
- https://www.runoob.com/linux/linux-comm-crontab.html