- 任务调度指的是系统在某个实践执行特定的命令或程序
- 任务调度可以分为两种
- 系统任务:有些重要的工作必须周而复始的执行,例如病毒扫描
- 个别用户工作:个别用户希望执行某些程序,比如对数据库的备份
- 任务调度基本语法
crontab [选项]
- 常用的选项
- -e --------- 编辑crontab 定时任务
- -l ----------- 查询crontab任务
- -f ----------- 删除当前用户所有的crontab
- 如果是复杂的任务,应该写一个脚本来执行,如果是一些简单的命令,可以直接在crontab命令下编辑
- 例如:设置一个定时任务,每隔十分钟,就将/temp/目录的信息,写入到/temp/to.txt文件中,在linux中可以这样描述.
- 使用 "crontab -e"命令编辑一个定时任务
crontab -e
- 在编辑的时候,输入以下内容(每个"*"后中间要使用空格区分)
*/1 * * * * ls -l /etc/ > /tmp/to.txt
以上内容中五个"*"占位符分别表示
- 第一个"*"表示一小时中的某一分钟---------范围:0-59
- 第二个表示一天中的某一个小时------------范围:0:23
- 第三个表示一个月中的某一天---------------范围:1-31
- 第四个表示 一年中的某个月--------------范围:1-12
- 第五个表示星期几 -----------------------范围:0-70和7都表示星期天
- 其中的"/1"表示每个一个时间段执行,以上的命令中"/"用在了分钟的数字前,表示,每隔一分钟执行
- "ls -l /etc/ > /tmp/to.txt"表示将/ect/目录的信息覆写到/tmp/to.txt文件中,如果没有to.txt文件,系统会自动创建
- 保存并退出,crontab编辑
- 查看/tmp/to.txt文件内容
- crontab 编辑中,除了"*/n"参数之外,还有其他的参数
特殊符号 | 描述 |
---|---|
* | 表示任何时间,第一个"*"代表一小时中每分钟都执行一次 |
, | 逗号表示不连续的时间,如果有个描述为"0 8,12,16 * * * ",这里表示每天的8:00,12:00,16:00的时候执行程序 |
- | 减号表示连续的时间范围,例如"0 5 * * 0-6" ,就表示每周1到周天的5:00时候执行 |
*/n | 表示每隔一段时时间执行一次,例如"/10 * * * * “,表示 每隔十分钟执行一次,”/n"符号出现在不同的位置,意思也不同 |