Linux延时任务及定时任务

1.系统延时任务

at命令发起的延时任务都是一次性的

 [root@dream ~]# at 12:12或者 at 12.12
at> rm -fr /mnt/*                                                ###延迟动作
at>                                                         ###ctrl+d表示发起动作
job 1 at Tue Jan  1 12:12:00 2018


at -l | atq                                                      ###查看当前任务                                                          
atrm  | at -d                                                    ###取消指定任务
at -c +数字                                                      ###查看任务内容 数字是第几个
at now+1min                                                     ###延迟一分钟
at -f file                                                      ###延迟执行文件中的内容
at -m                                                           ###延迟命令没有输出时仍然发送邮件给执行者 mail在/var/spool/mail/用户查看
at -M                                                           ###延迟命令有输出时但不发送邮件给执行者

at 命令的执行权力设定

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

建立普通用户dream,并在/etc/at.deny中写入dream用户

Linux延时任务及定时任务_第1张图片

Linux延时任务及定时任务_第2张图片

/etc/at.allow中写入dream用户

Linux延时任务及定时任务_第3张图片

这里写图片描述

2.定时任务

定时任务是永久的,定时任务程序crond,在系统中每分钟做任务扫描,共有二种发起方式

发起方式一

crontab也可以通过/var/spool/cron/username进入,但crontab提供语法检测

-u:指定用户,不加默认为当前用户
crontab -u username -e                                                                ###进入此用户定时设定
crontab -u username -r                                                                ###删除此用户定时任务
crontab -u username -l                                                                ###查看此用户定时任务

##crontab 定时任务格式##

注意:周天的表示为0和7
 *  *  *  *  *  +command
 分 时 日 月 周
* * */2 * *                                                                          ###每隔两天
* 08-17/2 * * *                                                                      ###8点到下午5点每2个小时 
* * 01,15 * 6                                                                        ###每个月的1号和15号及每周6

例如:

每2分钟在/mnt下建文件名为1到10的文件
每3分钟删除/mnt下的所有文件

Linux延时任务及定时任务_第4张图片

发起方式二

vim /etc/cron.d/filename
其格式为:

 * *  *  *  *   root    rm -fr /mnt/*                                                ###超级用户每分钟清清除/mnt下内容
分 时 日 月 周   用户  动作

例如:

chmod 777 /mnt                                                                      ###给/mnt所有用户rwx权限
vim  /etc/cron.d/dream          

每2分钟用root身份删除/mnt下的所有内容
每分钟用dream身份在/mnt下建立文件名为1到10的文件

Linux延时任务及定时任务_第5张图片

crontab 命令的执行权力设定

其和at类似

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

在/etc/cron.deny写入dream用户

这里写图片描述

Linux延时任务及定时任务_第6张图片

在/etc/cron.allow 中写入dream用户

Linux延时任务及定时任务_第7张图片

这里写图片描述

你可能感兴趣的:(运维,linux,at,延时任务,定时任务,crontab)