延时任务与定时任务

1.延时任务
at命令的使用
1)打开终端,在根目录下建立一个新的目录取名为/at
2)进入/at目录下,执行watch -n 1 ls -l /at命令,对其进行监控
3)同时打开另一个终端,执行命令
at+某个将来的具体时刻 ##表示将来在某个时刻执行你特定的操作
例如下图便是在17:20在/at目录下创建file1、file2、file3、file4四个文件

延时任务与定时任务

而下图所执行的延时任务是在17:27删除/at目录下的所有文件

延时任务与定时任务

4)在输入要进行的操作完成之后,按ctrl+d退出,等待时间到达执行操作就行

5)at的一些基本命令
at -l ##表示列出当前的延时任务和任务号
at -r 任务号 ##表示删除未执行的延时任务
at -c 任务号 ##表示查看延时任务的执行动作
6) at 命令的执行权力设定
/etc/at.deny ##用户黑名单,在此名单中出现的用户不能执行at命令
/etc/at.allow ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失效,系统所有用户默认不能执行at,只有在名单中出现的用户可以使用at命令

2.定时任务
crontab命令的使用
1)执行crontab -e命令,之后会打开vim的命令编辑窗口
2)如下图所示
五颗星分别代表分钟、小时、日、月、周,后面跟的是要在这些时刻所进行的操作
延时任务与定时任务
3)执行crontab -e -u 用户名 ##表示指定该用户在给定的时间执行定时任务的命令

例如执行crontab -e -u root命令,进入后如下图所示编写语句。该命令的含义为在每个月的30号晚上22:30执行命令,删除/at/file目录
延时任务与定时任务

4)
crontab -l ##列出系统的定时任务
crontab -r ##删除定时任务

5)crontab 命令的执行权力设定
/etc/cron.deny ##用户黑名单,在此名单中出现的用户不能执行crontab命令
/etc/cron.allow ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失x效,系统所有用户默认不能执行crontab,只有在名单中出现的用户可以使用