吴宏东 - 记于2018年07月11日 - 博客 https://segmentfault.com/u/wu...shell
在CentOS 7 周期性计划任务由cronie软件提供,cronie包含了标准的UNIX守护进程crond和相关工具;
一次性的任务由at/batch执行;segmentfault
建立计划任务能够有2个方式:
一、编辑/etc/crontab文件,追加计划;
二、使用 crontab -e命令; bash
格式:minute hour day month week [username] cmd; 工具
minute:一个小时的哪一分钟,范围0~59;
hour:一天中的哪个小时,范围0~23;
day:一个月中的哪一天,范围1~31;
month:一年中的哪个月,范围1~12;
week:一周中的哪一天,范围0~7(0和7均表示周日);
username:用指定用户身份执行命令;
cmd:任务执行的命令; code
前5个时间字段的语法:
不能为空,能够使用通配符*表示任什么时候间;
能够指定多个值,用逗号间隔,如1,2,3;
能够指定时间段,用减号间隔,如0-6;
能够使用步长/n表示,如0~6/2,即0,2,4,6; 进程
前5个时间字段经常使用的表示:
[ *] 表示每分钟;
[/5 *] 表示每隔5分钟;
[30 0 *] 表示天天0:30;
[0 4,8-18,22 *] 表示天天4:00、22:00、8~18的每一个整点;
[10 /6 ] 表示天天从零点开始每隔6小时的10分;
[23 0-23/2 *] 表示天天逢偶数小时的23分;
[30 1 1,15 ] 表示每个月1日和15日凌晨1:30;
[5 1 7] 表示每周日凌晨1:05;
[0 22 1-5] 表示每周一至周五的晚上10点;
[30 4 1,15 * 5] 表示每个月的1日和15日及每一个周五的4:30(周和日是或的关系);crontab
# 查看计划任务 crontab -l; # 建立计划任务 crontab -e; # 每分钟在目录/home/wuhd下生成随机文件 * * * * * cd /home/wuhd && touch r-$RANDOM; # 删除计划任务 crontab -r;
建立一个脚本,保存在/shell/cron:get
#!/bin/bash newfile() { time=`date +%Y%m%d%H%M%S`; cd /home/wuhd && touch "f-$time-$RANDOM"; } newfile;
编辑/etc/crontab文件,追加计划任务内容:cmd
# 编辑/etc/crontab文件 vi /etc/crontab; # 追加计划任务,系统将每分钟执行一次脚本cron * * * * * root /shell/cron;