吴宏东 - 记于2018年07月11日 - 博客 https://segmentfault.com/u/wu...
Linux 计划任务
计划任务
简介
在CentOS 7 周期性计划任务由cronie软件提供,cronie包含了标准的UNIX守护进程crond和相关工具;
一次性的任务由at/batch执行;
命令 crontab
创建计划任务可以有2个方式:
1、编辑/etc/crontab文件,追加计划;
2、使用 crontab -e命令;
格式: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:任务执行的命令;
前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 -l;
# 创建计划任务
crontab -e;
# 每分钟在目录/home/wuhd下生成随机文件
* * * * * cd /home/wuhd && touch r-$RANDOM;
# 删除计划任务
crontab -r;
创建一个脚本,保存在/shell/cron:
#!/bin/bash
newfile() {
time=`date +%Y%m%d%H%M%S`;
cd /home/wuhd && touch "f-$time-$RANDOM";
}
newfile;
编辑/etc/crontab文件,追加计划任务内容:
# 编辑/etc/crontab文件
vi /etc/crontab;
# 追加计划任务,系统将每分钟执行一次脚本cron
* * * * * root /shell/cron;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。