1、延时任务
at |时间|
> |命令|
>ctrl + d ###延时任务
at -l ###查询延时任务
-m now+1min |命令| ###(at默认情况下只有输出命令才有邮件+m无输出命令也有邮件)
-f |时间| |命令文件| ###(可以无交互执行)
-M ###让有输出的命令不产生邮件
-c |任务| ###查看此id的延时执行的动作
at -r |任务号| ####取消任务
mail ###查看邮件
例:
at黑名单
/etc/at.deny ###用户的黑名单,文件默认为空,并且白名单不存在时生效
例:student在黑名单
student ###无使用at权限
at白名单
touch /etc/at.allow ###用户白名单
默认系统中不存在白名单,但当白名单出现,系统用除了白名单中出现的用户以及root用户,其他用户均不能执行at命令。(白名单出现黑名单失效)
2、定时任务
crontab
1)这个程序是由crond.service 服务提供
2)写入程序的时间和事件是永久保存的
cron的设定方式:
crontab -e -u 用户名称(可以不写)
分钟 小时 天 月 周 事件
58 06 * * * rm -rf /mnt/* #每天6:58删除mnt中的所有内容
58 06 1,15 * * rm -rf /mnt/* #每月1号和15号6:58删除mnt所有内容
58 06 1-15 * * rm -rf /mnt/* #每月1号到15号6:58删除mnt所有内容
*/30 06-17 * * 1-5 rm -rf /mnt/* #周一到周五早上6点到下午5点每隔半小时执行
例:
crontab -l #列出当前用户的cron任务
crontav -r #删除当前用户的cron任务
/var/spool/cron/* ##cron任务记录文件存放位置
黑白名单
默认情况下,系统中只存在黑名单,当白名单被建立,黑名单失效
1)黑名单
/etc/cron.deny #在此名单中的用户不能执行crontab
vim /etc/cron.deny
student #student用户不能执行crontab
2)白名单
/etc/cron.allow #用户白名单,当此名单出现,除了root用户及名单中的用户其他用户不能执行
touch /etc/cron.allow #建立白名单
!!!(设定方式和延时任务方式一样)
文件的定义方式crontab
vim /var/spool/cron/用户名称 ###以某个用户身份执行cron,文件名称必须和用户名称一致
分 时 天 月 周 动作
vim /etc/cron.d/文件 #设定多个用户身份执行cron
分 时 天 月 周 用户 动作