linux延迟任务和定时任务管理

  1.延迟任务

临时的,不重复的
当延迟任务有输出,输出会以邮件的形式发送给任务发起人
邮件用mail去看

at  时间
任务
ctrl + d   任务发起
[[email protected] ~]# at now+1min
at> rm -fr /mnt/*
at> <EOT>   ==(ctrl+d)

job 2 at Thu Apr 12 21:24:00 2018    执行延迟任务“一分钟后删除/mnt/里面所有东西”

linux延迟任务和定时任务管理

at -l      查看任务列表

[[email protected] ~]# at -l

linux延迟任务和定时任务管理

at  -c      查看任务详情

linux延迟任务和定时任务管理
at -c 5                                     查看编号为5的任务详情
atrm 5    取消编号为5的任务
linux延迟任务和定时任务管理
延迟任务的黑名单

/etc/at.deny      用户的黑名单,被加入到黑名单的用户不能执行at命令

例如将westos用户加入黑名单后,切换到westos用户,不能执行延迟任务,切换到其它用户student,依旧可以执行

linux延迟任务和定时任务管理

延迟任务的白名单

/etc/at.allow     系统默认不存在,需要手动建立,当建立出白名单后,所有的普通用户都不能执行at命令   (除root用户和加入到白名单的用户)  {当建立出白名单后,黑名单不生效}

linux延迟任务和定时任务管理

2.定时任务

永久生效

发起方式1.
crontab -u username -e"表示设置一个定时任务,以username的身份运行
crontab -u username -l"表示查看设置的定时任务

crontab -u username -r"表示删除设置的定时任务

linux延迟任务和定时任务管理


                                                                                *             *            *            *           *

                                                                               分          时          天         月         周

       常用的时间格式和意义是:

                               * * * * *                        每隔一分钟

                               * * */2 * *                     每隔两天

                               * 08-17/2 * * *             早上八点到下午五点每隔两小时

                               * * 01,15 * 6                每个月的1号,15号以及星期六

cat /var/spool/cron/root   查看root用户定时任务保存位置(后面表示用户名,如果时student用户表示student用户的定时任务)

linux延迟任务和定时任务管理

/etc/cron.deny            用户黑名单,被添加到黑名单的用户不能执行crontab命令/etc/cron.allow          

系统默认不存在,需要手动建立,当建立出白名单后,所有的普通用户都不能执行crontab命令   (除root用户和加入到白名单的用户)  {当建立出白名单后,黑名单不生效}

发起方式2.

/etc/下的这几个目录是跟系统级别有关的定时任务文件
cron.d/       cron.daily/   cron.hourly/  cron.monthly/ cron.weekly/
cron.d/                  超级用户设定的自定义定时任务目录,里边是所有的自定义任务文件
* * * * *  username 命令    系统级别的自定义任务设定需要指定用户
cron.daily/              每天执行的定时任务目录
cron.hourly/             每小时执行的定时任务目录
cron.monthly/            每月执行的定时任务目录

cron.weekly/             每周执行的定时任务目录

linux延迟任务和定时任务管理

可以直接在/etc/cron.d/目录下新建文件,生成系统级别定时任务,任务编写规则为

linux延迟任务和定时任务管理

系统级别设定的定时任务文件  用crontab -u username -l   命令查询不到

3.非交互式定时任务的设定

echo "* * * * * student date" >> /etc/cron.d/lww   在cron.d/目录下生成一个叫lww的自定义定时任务

linux延迟任务和定时任务管理

4.系统临时文件的管理

定时清理系统文件所需要的命令 systemd-files找到文件所在目录  /usr/bin/systemd-tmpfiles 执行rpm -qf  /usr/bin/systemd-tmpfiles 找到安目录装包 systemd-208-11.el7.x86_4 然后执行rpm -ql systemd-208-11.el7.x86_4 找到目录位置 /usr/lib/tmpfiles.d 移动到        /usr/lib/tmpfiles.d 编辑文件 vim tmp.conf
编辑文件   d      /mnt/tmp    1777   root  root        8s
对/mnt/tmp/下超过8s的文件执行操作
pwd  查看当前位置    vim westos.conf 编辑westos文件  systemd-tmpfiles --create /usr/lib/tmpfiles.d/* 建立刚才编辑的文件  cd /mnt/ 切换到/mnt/下  查看刚才建立的文件  cd tmp/ 切换到文件内  touch file  建立新文件  systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*
#系统中服务在正常运行时会产生临时文件
/usr/lib/tmpfiles.d/*.conf        ##系统中临时文件的配置
文件类型    文件名称    文件权限    文件所有人    文件所有组    文件存在时间
d        /mnt/westos    777        root        root        10s


systemd-tmpfiles --create /usr/lib/tmpfiles.d/*    ##执行临时文件配置

systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*    ##清里临时文件

linux延迟任务和定时任务管理