Linux就该这么学——计划任务服务程序
计划任务的种类
一次性计划任务 : 例如在今晚23点30分开启网站服务
长期性计划任务 : 每周一的凌晨3点25分把/home/wwwroot目录打包备份为backup.tar.gz
一次性计划任务
一次性计划任务顾名思义就是任务只执行一次,一般用于满足临时性的工作需求.
一次性计划任务设置的命令 : at 时间
一次性计划任务已设置好但还未执行的一次性计划任务 : at –l
删除指定的一次性计划任务 : atrm 任务序号
一次性计划任务的例子
例子1 : 将系统设置为在今晚23点30分进行重启网站服务
例子2 : 查看一次性计划任务已设置好但还未执行的一次性计划任务
例子3 一次性设置两个同样的任务,并且删除掉其中一个任务
长期性计划任务
能够周期性的,有规律的执行某些具体任务,那么Linux系统中的crond服务就再适合不过了
创建,编辑计划任务的命令 : crontab -e
查看当前计划任务的命令 : crontab -l
删除某条计划任务的命令 : crontab -r
编辑其他用户的计划任务(root管理员才有的权限) : crontab -u
使用crond设置任务的参数字段说明
字段 |
说明 |
分 |
取值为0—59的整数 |
时 |
取值为0-23的任意整数 |
日 |
取值为1—31的任意整数 |
月 |
取值为1—12的任意整数 |
星期 |
取值为0—7的任意整数,其中0与7均为星期日 |
命令 |
要执行的命令或程序脚本 |
长期性计划任务的例子
例子 1 : 假设在每周一、三、五的凌晨 3 点 25 分,都需要使用 tar 命令把某个网站的数据目录进 行打包处理,使其作为一个备份文件。我们可以使用 crontab -e 命令来创建计划任务。为自己 创建计划任务无需使用-u 参数,具体的实现效果的参数如 crontab -l 命令结果所示
需要说明的是,除了用逗号(,)来分别表示多个时间段,例如“8,9,12”表示 8 月、9 月 和 12 月。还可以用减号(-)来表示一段连续的时间周期(例如字段“日”的取值为“12-15” , 则表示每月的 12~15 日)。以及用除号(/)表示执行任务的间隔时间(例如“/2”表示每隔 2 分钟执行一次任务)之外。
如果在 crond 服务中需要同时包含多条计划任务的命令语句,应每行仅写一条。
例子2 : 我们再添加一条计划任务,它的功能是每周一至周五的凌晨 1点钟自动清空/tmp 目录内的所有文件。尤其需要注意的是,在 crond 服务的计划任务参数中,所有命令一定要用绝对路径的方式来写,如果不知道绝对路径,请用 whereis 命令进行查询,rm 命令路径为下面输出信息中加粗部分。
注 :
1. 在 crond 服务的配置参数中,可以像 Shell 脚本那样以#号开头写上注释信息,这样 在日后回顾这段命令代码时可以快速了解其功能、需求以及编写人员等重要信息。
2. 计划任务中的“分”字段必须有数值,绝对不能为空或是*号,而“日”和“星期” 字段不能同时使用,否则就会发生冲突。