延时任务at,定时任务cron,临时文件管理

延时任务at

1.at命令用法:

at now+5min|时间
>命令
>Ctrl+d

延时任务at,定时任务cron,临时文件管理

at 03:19
> reboot
> ctrl+d
定时重启

延时任务at,定时任务cron,临时文件管理

at -l | atq #查看未执行的延时任务
atrm ip | at -d ip #终止延时任务

延时任务at,定时任务cron,临时文件管理
延时任务at,定时任务cron,临时文件管理

at -M
##延时任务有输出不产生邮件,退出邮件使用q

延时任务at,定时任务cron,临时文件管理
at -c ip
##查看延时任务的内容

延时任务at,定时任务cron,临时文件管理
at -m
##延时任务无输出产生邮件
mail
##查看邮件内容,在/var/spool/mail/root/
延时任务at,定时任务cron,临时文件管理
延时任务at,定时任务cron,临时文件管理

at -f filename 
##将文件内容中的命令作为延时任务的动作

延时任务at,定时任务cron,临时文件管理
延时任务at,定时任务cron,临时文件管理

2.黑名单

/etc/at.deny
at命令黑名单配置文件

vim /etc/at.deny
student

将student用户写入黑名单,student不可以使用at命令

延时任务at,定时任务cron,临时文件管理

3.白名单

touch /etc/at.allow
建立at命令的白名单配置文件
白名单出现,黑名单失效,白名单以外的用户都不能使用at(root可以)

   vim /etc/at.allow
   student

白名单中写入student用户,其他用户不可以使用at 延时任务,root可以
延时任务at,定时任务cron,临时文件管理

定时任务cron

cron由crond.service提供

1.设定方式

(1)命令方式
crontab -u -e #参数可以不写

分钟   小时   天       月   周   事件
58    06     *       *   *   rm -rf /mnt/*     ##每天的06:58执行rm -rf /mnt/*
58    06   1,15      *   *   rm -rf /mnt/*     ##每月1日和15日的06:58执行rm -rf /mnt/*
58    06   1-15      *   *   rm -rf /mnt/*     ##每月1日至15日的06:58执行rm -rf /mnt/*
58    06   1,15      3   *   rm -rf /mnt/*     ##3月1日、15日的06:58执行rm -rf /mnt/*
58    06   1,15      3   3   rm -rf /mnt/*     ##3月1日、15日的06:58和3月的每个周三的06:58执行rm -rf /mnt/*
\*/2 06-17  *       *   1-5  rm -rf /mnt/*     ##周一到周五的每天早上6点至下午的5点之间每隔2分钟执行rm -fr /mnt/*事件  

发起方式1
crontab
-e ##编辑定期任务
-l ##显示定期任务
-r ##删除定期任务

crontab格式
分钟 小时 天 月 周
分钟/数字 ##每隔几分钟,以此类推,小时,天,月,周都适用
(2)文件方式定义crontab
某用户身份执行cron,文件名称必须和用户名称一致

   vim /var/spool/cron/用户名 
    分  时   日   月   周      动作

设定多个用户身份执行cron

vim /etc/cron.d/文件

分   时   日   月   周    用户   动作

延时任务at,定时任务cron,临时文件管理

编辑事件

crontab   -e          #编辑事件
          -l          ##列出事件
          -r          ##删除事件
          -r  -i      ##删除任务时会询问是否删除,输入y则删除
          -r  -u  student    ##以student用户执行事件

4.crontab使用限制

黑名单
/etc/cron.deny ##默认存在系统中,在此列表中出现的用户被禁止
test ##禁止test执行crontab
白名单
touch /etc/cron.allow ##默认在系统中不存在,
##但是当此文件存在时,
###deny文件失效,
#并且所有普通用户能执行crontab的权力被禁止,只有在此文件中的用户可以执行crontab
student ##系统中的普通用户只有student可以使用crontab

5.系统临时文件

vim /usr/lib/tmpfiles.d/xxx.conf
编写管理临时文件的配置文件
延时任务at,定时任务cron,临时文件管理

类型	       名称	         权限	   所有人	所有组	存在时间(s m d)
  d      /mnt/haha     777       root     root    10s                
  |          |            |          |        |      |
 目录 存放临时文件的目录 目录的权限 目录所属用户 所属组 清理目录内文件的间隔时间

systemd-tmpfiles	--create /usr/lib/tmpfiles.d/xxx.conf	##执行管理临时文件配置文件
systemd-tmpfiles	--clean	/usr/lib/tmpfiles.d/xxx.conf	##清理超过配置文件设定时间的文

延时任务at,定时任务cron,临时文件管理
重新打开一个窗口,进行监控: watch -n 1 ls -lR /mnt/
在原窗口touch /mnt/test,10s之后执行systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*,会发现/mnt/test不见了。

延时任务at,定时任务cron,临时文件管理