12. 计划任务(crontab)

本文详细介绍了Linux系统中用于计划任务的两种方式:一次性任务计划工具at和循环执行的例行性工作调度工具crontab。at服务通过atd后台进程实现,适用于一次性任务,而crontab由crond服务控制,用于周期性任务。文章讲解了at的使用方法,包括时间格式、任务创建和管理,以及crontab的配置格式和用户权限管理。还给出了多个示例,帮助读者理解和掌握这两种任务调度工具。
摘要由CSDN通过智能技术生成

计划任务
定时任务,也叫例行性工作调度
我们需要让linux系统按我们指定的时间规则自动的处理某些作业,例如在
某个时间点执行某个脚本,周期性的备份数据,这时候就可以制定任务计
划了。
任务计划分为一次性和周期性两类。
注意事项: 如果想要使用定时任务,首先要确保自己系统的时间格式,我们
使用的是东八区时间,也就是北京时间,可以运行下边这条命令确认。
一次性: 就是这次做完以后就没有的那一种
at :at 是个可以处理仅执行一次就结束调度的指令,不过要执行 at 时,
必须要有 atd 这个服务 的支持才行。在某些新版的 distributions 中,atd
可能默认并没有启动,那么 at 这个指令就会失效呢!不过我们的 CentOS
默认是启动的!
周期行性,就是每隔一定的周期要来办的事项;
crontab :crontab 这个指令所设置的工作将会循环的一直进行下去! 可
循环的时间为分钟、小时、每周、每月或每年等。
crontab 除了可以使用指令执行外,亦可编辑 /etc/crontab 来支持。 至于
让 crontab 可以生效的服务则是 crond 这个服务喔!
一次性计划任务
atd的启动与at运行的方式
要使用单一工作调度时,我们的 Linux 系统上面必须要有负责这个调度的
服务,那就是 atd 这个玩意儿。 不过并非所有的Linux distributions 都默
认会把他打开的,所以呢,某些时刻我们必须要手动将他启用才行
[root@base ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai
/etc/localtime
at的运行方式
一次性任务计划即执行完一次后就没有了的那种,可以通过at或batch命
令生成。计划内容会以文件的形式写入/var/spool/at目录中,一个任务计划
对应一个文件,系统的服务进程atd(at daemon)会读取这些文件并执行。
某任务执行完毕后,其对应的文件也会被自动删除。
为安全起见,我们通常需要编辑/etc/at.allow(白名单)
或/etc/at.deny(黑名单)以允许或拒绝某些特定用户制定任务计划,这
两个文件对at和batch命令都适用
⑴直接在文件中输入用户名,一行一个用户
⑵若这两个文件都不存在,默认只有root可以使用at和batch命令
⑶/etc/at.allow若存在但没有任何内容,表示允许的用户为空,意即拒
绝所有用户(root除外),同样/etc/at.deny若没有任何内容,则表示
放行所有用户。
⑷为避免混乱,/etc/at.allow和/etc/at.deny通常不同时使用。但若两
者都存在且有矛盾的地方,以/etc/at.allow优先。
使用方法:
生成一次性任务计划
用法:at [option]... [TIME]
~]# yum install at
~]# systemctl restart atd 
~]# systemctl enable atd
~]# systemctl status atd
● atd.service - Job spooling tools
Loaded: loaded (/usr/lib/systemd/system/atd.service;
enabled; vendor preset: enabled)
Active: active (running) since 一 2019-06-17 11:04:22
CST; 9s ago
Main PID: 47922 (atd)
at命令后不能为空,必须接选项或参数
常用选项:
任务计划创建格式:
 at TIME
 > COMMAND1
 > COMMAND2
 ...
 > 按Ctrl+D结束,结束符为EOT
 TIME格式:
 HH:MM 如14:30
 HH:MM YYYY-MM-DD 如14:30 2015-10-07
 HH:MM[am|pm] [Month] [Date] 如02:30pm October 07
 HH:MM[am|pm] + number [minutes|hours|days|weeks] 如
14:30 + 2 weeks
 now + #UNIT 如now + 5minutes
 noon,midnight,teatime,tomrrow
 其它命令:
 atq:查看待执行任务列表,相当

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值