linux 任务调度的工作主要分为以下两类:
1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
2、个人执行的工作:某个用户定期要做的工作,例如每隔 10 分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置
Linux crontab 是用来定期执行程序的命令
安装
Debian/Ubuntu系统
apt-get update & apt-get -y upgrade
apt-get install cron
Fedora/CentOS系统
yum -y update
yum install vixie-cron
crontab常用的指令:
crontab -l : 列出目前的时程表
crontab -r : 删除目前的时程表
crontab -e : 编辑时程表
创建定时任务操作流程:
举例:定时清除某个文件夹下的文件
0、先创建xx.sh文件,在文件中写好要执行的指令,清除某个文件夹下的文件
rm -rf /Users/admin/Downloads/rmtest/*
1、crontab -e ,进入编辑
2、输入指令,6月13日16点54分,执行test.sh命令
54 16 13 6 * sh /Users/admin/Downloads/test.sh
或者54 16 13 6 * /Users/admin/Downloads/test.sh
3、保存退出,等待自动执行
编辑格式说明:
分 时 日 月 周 指令(也就是:minute hour day month week command)
举例一:
35 23 * * * /Users/admin/tools/dingding_alert.py
--表示每天的23点35分执行后面的py文件
举例二:
0 6-12/3 * 12 * /usr/bin/backup
--12月内每天6时到12时,每隔3小时执行一次指令
字段说明
minute:分,取值是从0到59之间的整数。
hour:小时,取值是从0到23之间的整数。
day:日,取值是从1到31之间的整数。
month:月,取值是从1到12之间的整数。
week:周几,取值是从0到7之间的整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
在以上各个字段中,还可以使用以下特殊字符:
1.星号():代表所有可能的值,
例如month字段如果是星号 * ,表示每月都执行该命令操作。
2.逗号(,):逗号隔开的值指定时间
例如:week取“1,5”,表示只在周一、周五执行
3.中杠(-):中杠表示一个整数范围,
例如:minute取“1-5”,表示1-5分钟内要执行
4.正斜线(/):可以用正斜线指定时间的间隔频率,
例如:day字段设置 “/4 ”表示每4天执行一次
可能出现的问题
1、命令执行不生效
解决方式:
方法二:将脚本语言的路径写到/etc/cron.d/anacron 的Path中