Linux系统延时任务

1.系统延时任务

[root@software_install mnt]# at 7:11             ####设定任务执行时间 
at> rm -rf /mnt/*                                                 ####任务动作
at> <EOT>                                                        ####用<ctrl+d>发起任务

[root@software_install mnt]# at now+1min   ####延时一分钟
at> rm -rf /mnt/*
at> <EOT>
job 3 at Tue Jan 22 07:30:00 2019

at -l                      ####查看任务列表

at -c 任务号       ####查看任务内容

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

注意:
当任务有输出时,输出会以邮件的形式发送给at任务的发起者

mail -u root    ##查看超级用户邮件
1               ##查看第一封邮件
q               ##退出

> /var/spool/mail/root  ##清空邮件

如上图所示,查看root用户的邮箱出现了内容为123的邮件
#####2.at任务的黑白名单#####
/etc/at.deny          ##系统中默认存在,在此文件中出现的用户不能
                        执行at

在at.deny文件中写入student,将student放入at黑名单中

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

在at.allow文件中写入student

上图可知westos不能使用at命令,而student用户可以正常使用at命令

系统定时任务

1.crontab时间表示方式
* * * * *                         ##每分钟
*/2 * * * *                      ##每两分钟
*/2 09-17 * * *             ##早7-晚5每两分钟
*/2 */2 * * *                   ##每隔两个小时的每两分钟
*/2 09-17 3,5 1 5     ##3月和5月每周周五及3月1日和3月15日
*/2 09-17 * * 5             ##每周周五早9晚5

2.系统控制crontab的服务
crond.service 
3.crontab
crontab -e -u    ###编辑用户的定时任务

crontab -l -u    ###列出用户的定时任务
crontab -r -u    ###移除用户的定时任务

用watch命令监控/mnt/下的文件,实验过程如下:

如上图所示:定时任务成功!

4.文件方式设定定时任务
vim /etc/cron.d/file

查看cron.d文件及其目录下的文件的权限,只有root有写的权限,也就是只有root用户用文件的方式添加定时用户

定时任务文件的书写格式:
* * * * * username action
* * * * * root      rm -rf /mnt/*

注:文件方式与命令方式设定定时任务的书写内容的不同是文件方式要在文件中写上用户

  1. crontab的黑白名单
    /etc/cron.deny   ##系统中默认存在,在此文件中出现的用户不能执行crontab

在/etc/cron.deny文件中写入student,下图是student运行crontab的结果。


/etc/cron.allow  ##系统中默认不存在,当文件出现,普通用户不能执行crontab


          ##只有在名单中的用户可以,并且/etc/at.dany失效
          ##这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行

如图在/etc/cron.allow为文件中写入student,结果如下,student用户可以使用crontab 命令,而westos 用户不可以使用crontab命令:

猜你喜欢

转载自blog.csdn.net/halobios_/article/details/86586371