Linux计划任务

我们在系统的管理中,很多时候不是及时的去操作,比如对某一网站数据的备份,备份的过程需要占用大量的系统资源,凌晨三四点的时候系统访问用户最少,系统最空闲。但我们的系统的系统管理员总不能老那个时间爬起来操作吧。这个时候我们可以用计划任务完成我们的工作

计划任务的命令
计划命令分一次性计划和周期性计划。比如我要在今年10月1结婚,这是一次性的计划。睡觉就是周期性的计划。比如,我给自己规定每天晚上的11点半睡觉。那么到时间我就上床睡觉。

at    安排作业在某一时刻执行一次
batch  安排作业在系统负载不重时执行一次
cron    安排周期性运行的作业
at命令和格式(同batch,会检测系统负载,一般是指0.8以下)

  • [-f  文件名]    时间
  • -d(atrm)   删除队列中的任务
  • -l(atq)      查看队列中的任务

绝对计时方法(如果不写,就是当前天):

  • midnight noon teatime
  • hh:mm [today]
  • hh:mm tomorrow
  • hh:mm 星期
  • hh:mm MM/DD/YY

相对计时方法:

  • now+n minutes
  • mow+n hours
  • now+n days

at 配置文件

作用:可以限制哪些用户可以使用at命令

  • /etc/at.allow(如果存在,只有列在此文件中的用户可以使用at命令,如果不存在,就检测下面这个文件)
  • /etc/at.deny(若存在,列出的用户不能使用此命令)
  • 如果以上两个文件都不存在,则只能由root(超级管理员)用户执行此命令
  • 如果两个文件都存在且都为空,那么所有用户都可以使用at命令

周期性计划命令crontab

用于生成cron进程所需要的crontab文件,命令格式
crontab {-l|-r|-e}

 

  • -l   显示当前的crontab
  • -r   删除当前的crontab
  • -e   使用编辑器编辑当前crontab文件

规则:  把知道的具体的时间添上,不知道的都添加上*

分钟    小时   天    月    星期   命令/脚本

注意事项:

  1. 这些选项不能省略或为空
  2. 不需要指向时,使用*通配符代替
  3. 每个时间可能指定多个值,其中用,逗号分隔
  4. 命令应该给出绝对路径
  5. 用户必须对相应的命令或程序具有一定的权限

限制哪些用户可以使用,可以通过cron配置文件配置,用法同at配置文件

  • /etc/cron.allow
  • /etc/cron.deny

发表评论

发表回复

*

沙发空缺中,还不快抢~