使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行
入门
# crontab –e
这样可以已编辑模式打开个人的crontab配置文件,然后加入一下这行:
00 00 * * * /home/linrui/XXXXXXXX.sh
这将会在每天凌晨00:00运行 指定的.sh文件
对于类似于几分钟执行一次的脚本,可在末尾加上 “>/dev/null 2>&1”,这里表示不写到系统日志:
00 00 * * * /home/linrui/XXXXXXXX.sh >/dev/null 2>&1
Cron 各项的描述
以下是 crontab 文件的格式:
{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
o minute: 区间为 0 – 59
o hour: 区间为0 – 23
o day-of-month: 区间为0 – 31
o month: 区间为1 – 12. 1 是1月. 12是12月.
o Day-of-week: 区间为0 – 7. 周日可以是0或7.
Crontab 示例
1、在 凌晨00:01运行
01 00 * * * /home/linrui/XXXX.sh
2、每个工作日23:59都进行备份作业。
59 23 * * 1,2,3,4,5 /home/linrui/XXXX.sh
或者如下写法:
59 23 * * 1-5 /home/linrui/XXXX.sh
3、每分钟运行一次命令
*/1 * * * * /home/linrui/XXXX.sh
4、每个月的1号 14:10 运行
10 14 01 * * /home/linrui/XXXX.sh
Crontab命令的选项
以下是 crontab 的有效选项:
crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。
今天用crontab不能自动执行脚本,但是手动执行可以,通过在末尾添加 “>> /home/xxx/log 2>&1”,查看log日志显示:No such file or directory
折腾了半天,后来是因为crontab -e添加的时候在最后一行末尾,需要添加一个空行,即编辑的时候末尾enter以下。。
转载自:https://my.oschina.net/u/2288038/blog/485972