延时任务:临时的,不重复的。当延时任务有输出时,输出会以邮件的形式发送给任务发起人。邮件用mail去查看。
一 ,at命令
使用方法
at 时间
任务
ctrl+d:退出
at -l 查看任务列表
at -c 1 查看任务详情
atrm 2 取消任务
/etc/at.deny :用户黑名单 加入用户黑名单的用户不能执行at命令
/etc/at.allow :用户白名单,默认系统中是不存在这个文件的。一但被建立出来则黑名单失效(除了超户外的所有用户都被加入黑名单) 想要允许那个用户可以使用at命令加入白名单即可
二,crontab命令
1,crontab 建立永久的定时任务--
当任务执行时主机如果关机,在开机时会执行。
cron.server 服务默认是开机自启的
systemctl status crond.service :查看crontab状态
2,编辑定时任务分为三种:
第一直接使用命令crontab -e,第二种是编辑配置文件/var/spool/cron/用户,这重方式是针对用户级别
第三种是编辑/etc/cron.d/文件名,这种是针对系统级别的
第一种:crontab -e:编辑延时任务
分钟 小时 天 月 周 任务
“/” 表示每隔多长时间执行一次 ,1-3 天 执行 1,3 第一天和第三天执行。天和周之间是互相不影响的
crontab -u 用户 -e ;在指定的用户下编辑延时任务
crontab -l 查看延时任务
crontab -u 用户 -l :在指定的用户下查看延时任务
crontab -r 删除延时任务
crontab -u 用户 -r :在指定的用户下删除延时任务
第二种:直接以配置文件的方式编写定时任务,针对的是单个用户
vim /var/spool/cron/用户
cron 用户的黑名单,和at的黑白名单一样
/etc/cron.deny :用户黑名单 加入用户黑名单的用户不能执行cron命令
/etc/cron.allow :用户白名单,默认系统中是不存在这个文件的。一但被建立出来则黑名单失效(除了超户外的所有用户都被加入黑名单),想要允许那个用户可以使用cron命令加入白名单即可。
第三种:系统级别的定时任务
vim /etc/cron.d/文件名 :是自定义多长时间执行一次的动作,在指定动作时要加入用户
编写这个文件格式
分 时 天 月 周 用户名 执行的动作
vim /etc/cron.monthly/文件名:每月执行的动作
vim /etc/cron.daily/文件名: 每天执行的动作
vim /etc/cron.hourly/文件名: 每小时执行一次
vim /etc/cron.weekly/文件名: 每周执行一次执行时crontab -l 不能查看vim /etc/cron.d/ 的延时任务
用户级别的延时命令: /var/spool/cron/用户 编写这个文件时不用将用户加进去
非交互式编写临时文件:echo “* * * * * student date” >> /etc/cron.d/westos :非交互式编辑定时文件
三,清理临时文件
查找临时文件
先查找文件在哪
再查找文件属于那个软件包
查询软件包生成的文件
然后在/usr/lib/tmpfiles.d/westos.conf中编写所要执行的动作
d 要清理的目录名 权限(1777) 拥有者 所在组 时间(多长时间后清理)syssystemd-tmpfiles --create /usr/lib/tmpfiles.d/* 去读取/usr/lib/tmpfiles.d/所有文件 建立要清理的文件
systmpfiles --clean /usr/lib/tmpfiles.d/* 执行要清理的动作