系统延时任务和定时任务
系统延时任务(at)
-
at 时间 ##表示在某个时间执行任务(按下回车输入命令,ctrl+d 发起任务)
-
at now+1min ##表示在一分钟以后执行任务
-
at -l #查看所有延时任务列表
-
at -c 任务号 #查看任务的具体内容
-
at -r 任务号 #删除指定的任务
注:当任务有输出时,输出会以邮件的形式发送给at任务的发起者。
邮件的查看和发送(postfix和mailx)
步骤:
- 需要下载两个组件(postfix和mailx)
- 开启postfix服务
命令:
-
mail
-
mail username #给用户发送邮件
-
mail -u username #查看指定用户的邮件
注:/var/spool/mail/ 下存放了所有用户的邮件信息
-
内部命令 :1. 输入数字是查看指定邮件的具体信息
2.headers是查看邮件列表
3.help查看内部命令帮助
4.q是退出查看邮件
- date命令和find命令在字符设备中都是有输出的,可以用延时任务执行两个命令,看看是否邮件中是否可以查看到输出。
at 任务的黑白名单
-
/etc/at.deny ##系统中默认存在,在此文件中出现的用户将不能执行at
-
/etc/at.allow ##系统中默认不存在,当被建立出来以后,普通用户将不能执行at,并且/etc/at.deny失效,只有/etc/at.allow的用户才和root用户可以执行at
系统定时任务(crontab)
- 系统控制crontab服务 当 crond.service 服务开启使时定时任务生效
crontab命令设定定时任务
命令:
-
crontab -u username -e #指定用户定时执行任务
-
crontab -u username -l #查看指定用户的定时任务
-
crontab -u username -r #删除指定用户的定时任务
注:如果不写username,默认在当前用户执行命令
- crontab 时间表示方式
- * * * * * #表示每分钟
- */2 * * * * #表示每两分钟
- */2 09-17 * * * #表示早上7点到晚上5点,每两分钟
解释:一共5个部分表示时间,第一部分代表分钟,第二部分代表小时,第三部分代表一个月的第几天,第四部分代表第几个月,第五部分代表一周第几天。
crontab的黑白名单(对文件方式设定的定时任务没有影响)
- /etc/cron.deny ##黑名单,系统中默认存在,在此文件中出现的用户不能执行crontab
- /etc/cron.allow ##白名单,系统中默认不存在,可以建立出来,文件存在之后,普通用户不能执行crontab,并且黑名单实效,只有/etc/cron.allow上存在的名字和root用户可以执行crontab
文件方式设定定时任务
步骤:
- 在/etc/cron.d/下建立个文件westos
- 编写westos文件内容就可以生效了
系统中临时文件的管理方式
意义:假设/mnt/westos目录下的文件都是临时文件,要求该目录下的文件只能存活10s
步骤:
-
在/usr/lib/tmpfiles.d/ 目录下建立一个文件westos.conf
-
编辑文件内容
-
systemd-tmpfiles --create /lib/tmpfiles.d/westos.conf #根据规则建立一个目录
-
systemd-tmpfiles --clean /lib/tmpfiles.d/westos.conf #根据westos.conf规则来清理临时文件
注:系统在每天的0点过一分,会自动执行systemd-tmpfiles --clean /lib/tmpfiles.d/* 来清理我们系统的临时文件