系统的延时任务和定时任务

版权声明:此文位作者唯一版权,如有转载,也悄悄的别让我看见。 https://blog.csdn.net/lx543733371/article/details/79960053

延时任务

1.延时任务是临时的,不重复的,当延时任务有输出,输出不会在shell上显示

输出会以邮件的形式发送给任务发起人


2.用mail命令查看"邮件"


at命令来发起延时任务

输入邮件编号,查看邮件详情

输入q,退出

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


3.设置延时任务

at +时间   #执行延时任务的时间

>任务       #执行的任务

>ctarl+d   #开启任务

at   now+1min      ##now+1min:1min后执行任务



at -l     查看任务列表


at -c 1  显示1的全部任务


atrm  5  取消任务5


4.at的执行权力设定

###黑名单  "/etc/at.deny "    将用户放入黑名单后用户将不能设置延时任务,不针对root用户

#操作:将student用户加入到黑名单后,student用户不能设置延时任务

         

         切换到lixuan用户还是可以设置延时任务


##白名单 " /etc/at.allow"  默认是不存在,但是"建立白名单后黑名单失效,所有用户都将进去黑名单",

    只有放入白名单的用户可以设置延时任务,白名单不针对root用户

操作:将用户student放入白名单,可以设置延时任务

          切换到lixuan用户,lixuan用户不能设置延迟任务



定时任务

1.定时任务程序crond.service

定时任务是开机自启动,会排查未执行的crontab,这个程序是在系统中每分钟做任务扫描

定时任务是永久性的

查看定时任务所需要执行的服务状态  systemctrl  status  croud.service

Active:active(running)    #这个位置表示正在运行或者停止运行

格式:分   时    天    月     周                 ##*表示全部
           *      *      *       *       *                 ##每隔1分钟执行1次
           */2   *      *       *       *                 ##每隔2分钟执行1次
           *      */2    *      *       *                ##每隔2小时执行1次
           *      *    1,4   *       *                 ##每月1、4号每隔1分钟执行1次
           *      *      *       1-4    *              ##1、4月每隔1分钟执行1次
            *      *      *       *      4              ##每周4每隔1分钟执行1次

2.方式1:

crontab -e                                               ###  开启执行定时任务命令,编写添加任务,格式 " * * * * *  任务 "  


               -u  用户名称 -e                       ###  指定这个用户设置定时任务

crontab    -r                                            ###  默认删除当前用户的定时任务


               -u  用户名称 -r                        ###  表示删除指定用户的定时任务

crontab    -l                                            ###  默认列出当前用户的定时任务

                -u  用户名称 -l                        ###  表示查看指定用户的定时任务

方式2:编辑 /var/spool/cron/用户名称  

            可直接编辑文件执行crontab      ##删除文件与crontab -r命令作用一样


#操作:编写内容为超级用户每分钟删除掉/mnt下的所有


3. crontab 命令的执行权力设定

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

操作:把student用户放入黑名单后,student不能设置定时任务,其他用户可以


##白名单 " /etc/cron.allow"  默认是不存在,但是"建立白名单后黑名单失效,所有用户都将进去黑名单",

    只有放入白名单的用户可以设置定时任务,白名单不针对root用户

操作:将用户student放入白名单,可以设置延时任务

          切换到lixuan用户,lixuan用户不能设置延迟任务


4.用户级的crontab

     /var/spool/cron/student    ##普通用户

    /var/spool/cron/root         ##超级用户


5.系统级的crontab   ##只能超级用户编辑

    /etc/cron.d/         ##用户自定义执行模式

    /etc/cron.daily/      ##每天执行1次

   /etc/cron.hourly/     ##每小时执行1次

   /etc/cron.monthly/    ##每月执行1次

   /etc/cron.weekly/     ##每周执行1次

建立自定义的crontab时,需要指定用户

  例:vim   /etc/cron.d/test



  注意:系统级的定时任务不会在用户级的文件中显示

 6.非交互式编辑定时任务

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


 临时文件管理

#系统中服务在正常运行时会产生临时文件

1.查找临时文件
which   systemd-tmpfiles      ##查询文件在哪

rpm   -qf   /usr/lib/tmpfiles.d/systemd-tmpfiles  ##查询文件属于哪个软件包

rpm   -ql   systemd-208-11.el7.x86_64             ##查询软件包生成的文件


2.编辑临时文件生成目录信息表示

操作::临时文件存放在/mnt/tmp 目录下,权限为1777,用户root 组root 时间10s


3.建立临时文件

   systemd-tmpfiles   --create   /usr/lib/tmpfiles.d/*

4.清理临时文件

systemd-tmpfiles  --clean  /usr/lib/tmpfiles.d/tmp/*



阅读更多

没有更多推荐了,返回首页