linux中系统延时任务及定时任务
一、延迟任务
系统延迟任务是系统任务将在规定的时间或者在一定时间之后才进行的任务设置,这种命令发起的任务都是一次性的。
at + 具体时间 在某个具体时间执行延迟任务
at now + 时间 从现在开始多长时间后执行延迟任务
at -l 查看延迟任务
at -c job号 查看任务的具体内容
at -r job号 取消任务
1.延迟任务的发起
at 10:10
> rm -fr /mnt/* ##执行内容
>[ctrl]+[d]##任务发起
2、系统延迟任务的黑白名单
/etc/at.deny ##黑名单,系统中默认存在,在此文件中出现的用户不能执行at
/etc/at.allow ##白名单,系统中默认不存在,若此文件中出现,则表示只有在此名单中的用户才可以执行at命令,
3、当延迟任务有输出,输出会以邮件形式发送到任务发起者邮箱中
#dnf install mailx postfix 安装邮件服务
#systemctl start postfix 开启邮件服务
#systemctl enable postifx 设置开机启动
#mail -u root ##查看root用户的邮件
#>/var/mail/root##晴空root邮件
# at 10:30 ##发起任务
》timedatectl ##此命令有输出但不会显示到字符设备中
》ctrl+D
##此命令输出会用邮件发送给at发起人
二、定时任务
延迟任务at是一次性的 。定时任务是永久的
(1)系统控制crontab的服务
/var/spool/cron/root
定时任务是放在这个文件里面的
命令设定方式: ##用户级别定时任务
#crontab -e -u root 为root用户创建计划任务
#crontab -l -u root 列出root用户的计划任务
#crontab -r -u root 删除root用户的计划任务
(2)crontab 时间表示方式
分钟 时 日 月 星期几 具体时间
* * * * * 每分钟
*/2 * * * * 每两分钟
*/2 09-17 * * * 早9-晚5 每两分钟
*/2 */2 * * * 每隔2小时每两分钟
*/2 * 1-15,3-5 1 3到5月的每个周一以及3到5月的每个1-15号
*/2 09-17 * * 5 每周周五早9晚
(3)配置文件方式设定: 系统级别cron,只有超级用户可操作配置文件方式
进入配置文件所在的目录cd /etc/cron.d
,查看目录中存在文件的写入格式,并且在这个目录中写入我们需要的定时任务即可
#vim /etc/cron.d/westos ##cron设定文件
时间 用户 动作
* * * * * root rm -fr /mnt/*
/etc/cron.daily/ ##每天任务
/etc/cron.hourly/ ##每小时任务
/etc/cron.monthly/ ##每月任务
/etc/cron.weekly/ ##每周执行动作