Linux定时任务

本文介绍了Linux系统中三种常用的定时任务管理工具:at用于一次性定时任务,batch则在系统空闲时执行任务,而crontab则允许用户自定义周期性任务。详细阐述了它们的安装、使用方法、时间格式以及相关配置文件,帮助读者理解并掌握Linux定时任务的管理。
摘要由CSDN通过智能技术生成

at

作用:在指定时刻执行一次任务

#安装
yum install atd -y
systemctl restart atd
systemctl enable atd
#选项参数
at [-mlcdv] TIME
-m:任务完成后,邮件通知
-l:当前有多少任务未开始
-d:at -d 任务号,删除指定任务
-v:以明显的时间格式展示任务
-c:展示任务命令的实际内容
TIME
	HH:MM 当天指定时刻执行,若已经过去,则明天指定时刻执行
	HH:MM YYYY-MM-DD 指定年月日时分执行命令
	HH:MM[am|pm] + number [minutes|hours|days|weeks] xx时刻的yy时间之后执行,可以使用now代替HH:MM,如,now + 1 minutes表示一分钟后
#例如
[root@localhost ~]# at now + 1 minutes
at> echo 1
at> <EOT>
job 12 at Sun Jan  9 11:15:00 2022
其中,<EOT>是ctrl + d

batch

作用:系统空闲了的时候再执行命令,空闲的含义是CPU的任务负载小于0.8,任务负载通过uptme命令查看。

batch就是用at实现的

batch
命令
ctrl + d
#例如
[root@localhost /]# batch
at> echo hello > /test.txt
at> <EOT>

crontab

作用:

  • 客户自定义定时任务
  • 每分/小时/日/月/周定时执行任务
  • 每个用户有自己的crontab任务
#选项参数
crontab [-u username] [-l|-e|-r]
-u	被指定操作的用户,如crontab -u xx -l,查看用户xx的定时任务
-l	查看crontab任务列表
-e	编辑crontab任务
-r	删除用户下的所有定时任务
#格式规范
0 12 * * * * command     
分 时 日 月 周 命令
#特殊字符
*	任何时刻都接受
,	分隔时间段,如0,30 12 * * * * command,表示每天的12:00和12:30都执行command
-	表示时间范围,如0-30 12 * * * command, 表示每天的12:00 - 12:30
/n	每隔n时间执行一次,如*/5 * * * * command,表示每隔5分钟执行一次
#相关文件
/etc/cron.allow	使用crontab的用户白名单,优先级高于cron.deny
/etc/cron.deny	使用crontab的用户黑名单
/var/spool/cron/username	记录指定用户的定时任务
/var/log/cron	所有用户的定时任务执行日志

系统定时任务

作用:cron服务自动去读取系统定时任务配置文件,适用一些全局生效的任务

crond服务读取的配置文件包括:

/var/spool/cron/用户名	客户自定义的定时任务
/etc/crontab	系统定时任务
/etc/cron.d/*	软件如果有定时任务需求,可以把配置文件放在这个下面,默认有/etc/cron.d/0hourly
/etc/cron.hourly/*	下面的脚本会定时因/etc/cron.d/0hourly定时任务被执行
/etc/cron.hourly/0anacron	定时执行anacron程序,作用是,如果每日/周/月任务因系统关机错过了执行,anacron能识别出来,并在开机一小时左右后执行一次。anacron识别的定时任务包括:
	/etc/cron.daily
	/etc/cron.weekly
	/etc/cron.monthly
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值