系统定时以及延时任务

#1.系统延时任务#
#at命令发起的延时任务都时一次性的

at + time
[root@demo ~]# at 11:11/at now+1min
at> rm -fr /mnt/*        ##延迟动作
at> <EOT>            ##ctrl+d表示发起动作

at -l | atq            #查看当前任务
atrm  | at -d            #取消指定任务          加任务编号
at -c                      #查看任务内容           加任务编号
at now+1min            #延迟一分钟
at -f file            #延迟执行文件中的内容
at -m                #延迟命令没有输出时仍然发送邮件给执行者
at -M                #延迟命令有输出时但不发送邮件给执行者


#### at 命令的执行权力设定 ####

/etc/at.deny        ##用户黑名单,在此名单中出现的用户不能执行at命令


/etc/at.allow        ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失效

            ##系统所有用户默认不能执行at,只有在名单中出现的用户可以使用at命令

注意:超级用户不受此限制

####2.定时任务####

#定时任务时永久的

#定时任务程序crond,在系统中每分钟做任务扫描

#发起方式一#

crontab -u username -e         指定用户执行定时任务     

crontab -u username -r          删除某用户的任务

crontab -u username -l           查看某用户的任务


分                            时                    天               月                周

*                               *                       *                 *                   *

*/2                          3,5                3-5

每两分钟              三和五          三到五

整体格式:*/2  3,5    3-5   *    *      rm    -rf      /mnt/* 

每个月的三到五号的三点和五点每两分钟执行一次rm    -rf      /mnt/* 任务

crontab文件储存位置:/var/spool/cron/root

删除/var/spool/cron/root会删除所有任务

编辑任务也可以用vim   /var/spool/cron/root

###crontab黑白名单###
#黑:vim /etc/cron.deny   加入的用户不可以执行
#白:vim /etc/cron.allow  只有加入的用户可以执行
注:白名单本身不存在 建立出来之后所有用户都自动归为黑名单,超级用户不受限制!!
systemctl stop crond.service   关闭crontab功能 关闭后无法使用
systemctl start crond.service   开启crontab即可使用

###系统级别的crontab设定###          ###注:该方式只有超级用户可以执行

目录位置:/etc/cron.
cron.d/        #自定义执行
cron.daily/    #每天执行一次
cron.hourly/   #每小时执行一次
cron.monthly/  #月执行一次
cron.weekly/   #每周执行一次
编辑格式:* * * * * student rm -rf /mnt/*
指定student每分钟删除一次/mnt/*  
注意此任务无法用crontab -l查看    只能切换到执行用户用mail查看
###非交互式执行###

echo "* * * * * student date" >> /etc/cron.d

###零时文件的管理###
路径/usr/lib/tmpfiles.d/
使用方法:vim westos.conf 编辑文件
格式:d    /mnt/tmp    1777     root     root           8s
    目录   目录位置    权限    所有人   所有组    文件可以删除时间
输入:systemd-tmpfiles --create /usr/lib/tmpfiles.d/*
ls /mnt/    发现tmp文件

输入:systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* 删除/usr/lib/tmpfiles.d/*中可以删除的文件





猜你喜欢

转载自blog.csdn.net/l10159697/article/details/80000898