LINUX系统管理员--->2.4系统延时任务及定时任务

目录

一.任务的定时:

 二.任务黑白名单:

三.系统定时任务 :

四:邮件的开启和关闭相关功能 :


一.任务的定时:

 1. 设定什么时间你要执行操作: at 12:22 | now+1min
 2. 然后设定你要操作的东西: rm -rf /mnt/*
 3. ctrl+d 将你要延迟操作的任务进行挂起
  
    at -l        ##查看延迟任务列表
    at -c 任务号  ##查看任务内容
    at -r 任务号  ##取消任务执行

    注意: 当任务有输出时,输出会以邮件的方式发送给at任务的发起者
          mail -u root    ##查看超级用户邮件
          1               ##查看第一封邮件
          q               ##退出
          > /var/spool/mail/root    ##清空邮件

 二.任务黑白名单:

   

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

  这里我们在示例在黑名单中添加了用户lee,因此我们切换到lee用户之后,lee用户无法使用at命令来完成延迟任务或者定时任务

三.系统定时任务 :

任务保存的文件: /var/spool/cron/username
     1. crontab 时间方式表示
   
      * * * * *              ##每分钟
      * /2 * * * *           ##每两分钟
      * /2 09-17 * * *       ##早7-晚5每两分钟
      * /2 * /2 * * *        ##每隔两小时每两分钟
      * /2 09-17 3,5 1 5    #一月的三号和五号以及一月的每周五09点到17点每隔两分钟
      * /2 09-17 * * 5       ##每周周五早9晚5
2. 系统重置crontab 服务
        systemctl  start   crond.service        ##当程序开启时定时任务生效

 

    
3. crontab
        crontab -u -e root         # 指定root用户编写定时文件或 
        crontab -e -l              # 查看定时任务
        crontab -e -r              # 删除定时任务

【步骤:1.首先检查任务状态systemctl  status   crond.service 没有开启应当开启状态
                2.运行命令crontab -u root -e 用户可以任意指定 ,然后在文件内编写要运行的
                3.编写举例  * * * * * touch /mnt/file{2..5}
                4.重新开启一个shell查看命令是否生效  】

 

4.系统级别的cron (文件方式设定定时任务)
             vim /etc/cron.d/file
             * * * * * username action
             * * * * * root      rm -rf /mnt/*    (可以指定用户)

  5. crontab 的黑白名单
        /etc/cron.deny            ##系统中默认存在,在此文件中出现的用户不能执行crontab
        /etc/crontab.allow      ##系统中默认不存在,需要自己touch,但当这个文件出现,普通用户不能执行crontab
                                              #只有在这个白名单中才可以使用,并且/etc/at.deny失效
                                              ##这两个名单都不会影响 /etc/cron.d/目录中定时任务的发起和执行

四:邮件的开启和关闭相关功能 :

【步骤】  1.在我们配置好了软件仓库的前提下  vim /etc/yum.repos.d/westos.repo  
                  2.先安装  dnf install postfix mailx -y软件仓库下载邮箱

3.在打开服务 systemctl enable --now postfix启动邮箱服务

                4.0 邮件默认服务 : crontab -e 里面编写 * * * * * /bin/date &> /dev/null表示邮件运行,但是东西都运行到垃圾桶了 (此方式开启了邮箱服务,只是将东西重定向到了垃圾箱)   

 
               4.1 接受对象为空 :vim /etc/crontab 将 MAILTO=root 改成 MAILTO=“” ,这样就是不像任何人发送邮件,但是邮件服务依旧开启 (只是不用了)  /   将 MAILTO=“”写入到 crontab -e 中


               4.2 关闭邮箱功能 :vim /etc/sysconfig/crond 中的第三行改成 CRONDARGS=-m off 表示将mail服务关闭 / CRONDARGS=-s -m off 表示将邮箱功能关闭,日志功能开启

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值