Linux系统定时、延时任务

定时延时任务的意义:定时对系统进行维护,维护时要尽可能的对客户的影响小一些

定时任务是永久的【crontab命令】
延时任务是临时的【at命令】
crontab命令和at命令都是写到系统当中的

######1.系统延时任务(用户级的)######

at命令:

          可以指定某一任务在将来的特定时间运行。该作业可能是一次备份、对系统的检查或特定时间发送通知。适用那些需要花费很长时间才能完成的任务。

at命令设置运行后,就可以安全注销,该任务会在与shell会话连接的情况下运行。

at命令必须指定任务要运行的时间,该时间可以是具体的日期/时间,也可以是当前时间的相对时间。

 [root@software_install ~]# at 11:11                ##设定任务执行时间
 at> rm -fr /mnt/*                                                  ##任务动作
 at> <EOT>                                                           ##用ctrl+D发起任务
 [root@software_install ~]# at now+1min        ##延时一分钟

【注意】:在at命令书写中,用不了组合健(上下左右键)


 
 

at   -l                                ##查看任务列表
at   -c   任务号                 ##查看任务内容

at   -r   任务号                  ##取消任执行务

【注意】:这3条命令中的任务都是未执行的任务

查看用户邮件:

mail -u  用户                          ##查看用户的邮件
&  2                                         ##查看第二封邮件
Output from your job           ##工作的输出
q                                             ##退出
> /var/spool/mail/用户           ##清空用户的邮件(彻底清掉)

【注意】:当任务有输出时,输出会以邮件的形式是发送给at任务的发起者(建立、删除文件是没有输出的,echo肯定有输出)


(默认系统中所有用户都可以执行延时任务)

2.at任务的黑白名单

/etc/at.deny      ##at任务的黑名单,系统中默认存在,在此文件中出现的用户不能执行at命令
/etc/at.allow      ##at任务的白名单,系统中默认不存在,当这个文件出现时,系统中只有在名单中的用户可以用at命令,其他的所有普通用户禁止执行at命令,并且/etc/at.deny失效  
   
白名单建立 (黑名单失效)

(黑名单中输入的是student,显示没有权力用at)

(白名单中输入的是student)

######2.系统定时任务(系统级)######

cron命令:

         设备管理必须按计划定期重复运行的程序,后台每隔一段时间执行一次,任何用户都可以使用crontab命令计划个人任务。系统管理员可以在系统范围的配置文件中设置任务。        

1.crontab 时间表示方式

* * * * *                      ##每分钟
*/2 * * * *                   ##每两分钟
*/2 09-17 * * *           ##早7晚5每两分钟
*/2 */2 * * *                ##每隔2小时每两分钟
*/2 09-17 3,5 1 5      ##一月份的3号和5号以及每周周五早9点到下午5点每隔2分钟
*/2 09-17 * * 5          ##每周周五早9点到下午5点每隔2分钟

注释:时间顺序:分钟 ,小时, 天, 月, 周
/  每隔多久
,几和几
-  从到什么到什么

 

2.系统控制crontab的服务

单个用户使用crontab的文本文件(cron 表)登记任务

crond.service       ##当程序开启时定时任务生效

crontab  -l          ##列出文件
crontab  -r          ##删除文件
crontab  -e          ##编辑文件(使用默认编辑器是vim)

 

3.crontab

crontab  -e  -u   root              ##编辑定时任务
crontab  -u   root  -l                ##查看root用户下的定时任务列表
crontab  -u   root  -r               ##取消定时任务

4.文件方式设定定时任务

vim /etc/cron.d/file                               ##编辑定时任务
* * * * * uesrname   action                    ##定时内容书写格式
system status crond.service             ##查看crond服务是否开启

5.crontab的黑白名单

/etc/cron.deny                  ##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow                  ##系统中默认不存在,当该文件出现,只有在名单中的用户可以使用crontab命令,其他普通用户不能执行crontab命令,,并且/etc/at.deny失效

【注意】:这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行

 

(黑名单中输入的是student)

6.系统中临时文件的管理方式

cd   /usr/lib/tmpfiles.d/             ##切换到tmpfiles.d路径
vim westos.conf                       ##编辑临时文件
文件类型   执行文件   权限  所有人    所有组    执行时间                        ##书写格式

systemd-tmpfiles --create /lib/tmpfiles.d/临时文件名称.conf             ##执行临时任务
systemd-tmpfiles --clean /lib/tmpfiles.d/临时文件名称.conf               ##清除临时任务

猜你喜欢

转载自blog.csdn.net/weixin_44234846/article/details/86603556