################
#######at#######
################
#1.at命令的基本用法
[root@foundation60 ~]# at 10:00
at> echo hellp world
at> <EOT>
job 5 at Wed Nov 1 10:00:00 2017
[root@foundation60 ~]#
at -l #列出延迟任务id
at -r 任务id #删除此id对应的任务
at -m #让无输出的命令产生邮件
at -M #让有输出的命令不产生邮件
at -c 任务id #查看此id对应的延时任务的执行动作
at -f #用文件内记录的命令作为延时任务的的执行命令
#at命令的使用控制
默认系统中全部用户都有执行at命令的权力,那么如何设定at命令的黑白名单:
#黑名单
默认情况下,系统中是存在用户黑名单的
/etc/at.deny #用户黑名单,此名单默认为空,并且在白名单不存在时生效
vim /etc/at.deny
student #stdent不能执行at命令
黑名单中写了kiosk因此用户kiosk不能执行at命令。
但westos用户可以执行at命令。
#白名单
默认系统中时不存在at的白名单的
但是当白名单出现时,系统出名单中出现的用户以及root用户
其他用户均不能执行at命令
touch /etc/at.allow #建立用户白名单,当白名单出现,黑名单失效
建立白名单,并在其中写入kiosk,尽管黑名单中有kiosk用户仍可以执行at命令。
westos用户不能执行at命令。
#################
######cron#######
#################
#1)这个程序是由
##crond.service服务提供
#2)写入程序的时间和事件是永久保存的
cron设定方式
方法1
crontab -e -u 用户名称(可以不写)
分钟 小时 天 月 周 事件
58 06 * * * rm -fr /mnt/* #每天6:58删除mnt中的所有内容
58 06 1,15 * * rm -fr /mnt/* #每月1号和15号的6:58删除mnt中的所有内容
58 06 1-15 * * rm -fr /mnt/* #每月1号到15号的6:58删除mnt中的所有内容
58 06 1,15 3 * rm -fr /mnt/* #3月1号和15号的6:58删除mnt中的所有内容
58 06 1,15 3 3 rm -fr /mnt/* #3月1号和15号以及3月的所有周三删除mnt中的所有内容
58 06-17 * * * rm -fr /mnt/* #6-17点,每个小时的58分删除mnt中的所有内容
*/30 06-17 * * 1-5 rm -fr /mnt/* #周一到周五的6-17点每个半小时删除mnt中的所有内容一次
root用户给自己创建定时任务。
root用户给kiosk用户创建定时任务。
crontab -l ##列出当前用户的cron任务
crontab -r ##删除当前用户的cron任务
/var/spool/cron/* ##cron任务记录文件存放位置
##2.cron的黑白名单
#黑名单
默认情况下,系统中只存在黑名单,当白名单被建立时,黑名单失效
vim /etc/cron.deny
student ##student用户不能执行crontab
#白名单
/etc/cron.allow #用户白名单,当此名单出现时,出root用户及名单内出现的用户外,其他用户均不可执行crontab
touch /etc/cron.allow
vim /etc/cron.allow
westos #westos用户可以执行crontab
##3.文件夹方式定义crontab
vim /var/spool/cron/用户名称 #以某个用户身份执行cron,文件名称必须和用户名称一致
分 时 天 月 周 动作
用root用户给kiosk用户下达定时任务,每天00:00清除系统日志。
vim /etc/cron.d/文件.sh
分 时 天 月 周 用户 动作 #设定多个用户身份执行cron
用root用户给root用户和kiosk用户分别下达定时任务。root每分钟touch下/tmp/root文件,kiosk每分钟touch下/tmp/kiosk/文件
[root@foundation60 ~]# cat cron.sh
#!/bin/bash
#cat >>/etc/crod.sh/westos <<EOF
#* * * * * root touch /tmp/file{1,2}
#* * * * * student touch /tmp/file{3,4}
#EOF