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

系统延时任务和定时任务

系统延时任务(at)

  • at 时间 ##表示在某个时间执行任务(按下回车输入命令,ctrl+d 发起任务)

  • at now+1min ##表示在一分钟以后执行任务

  • at -l #查看所有延时任务列表

  • at -c 任务号 #查看任务的具体内容在这里插入图片描述

  • at -r 任务号 #删除指定的任务在这里插入图片描述

注:当任务有输出时,输出会以邮件的形式发送给at任务的发起者。

邮件的查看和发送(postfix和mailx)

步骤

  1. 需要下载两个组件(postfix和mailx)
  2. 开启postfix服务在这里插入图片描述

命令

  • mail

    1. mail username #给用户发送邮件在这里插入图片描述

    2. mail -u username #查看指定用户的邮件
      注:/var/spool/mail/ 下存放了所有用户的邮件信息在这里插入图片描述

内部命令 :1. 输入数字是查看指定邮件的具体信息
2.headers是查看邮件列表
3.help查看内部命令帮助
4.q是退出查看邮件

  • date命令和find命令在字符设备中都是有输出的,可以用延时任务执行两个命令,看看是否邮件中是否可以查看到输出。
  • 在这里插入图片描述
    在这里插入图片描述

at 任务的黑白名单

  • /etc/at.deny ##系统中默认存在,在此文件中出现的用户将不能执行at在这里插入图片描述在这里插入图片描述

  • /etc/at.allow ##系统中默认不存在,当被建立出来以后,普通用户将不能执行at,并且/etc/at.deny失效,只有/etc/at.allow的用户才和root用户可以执行at在这里插入图片描述在这里插入图片描述

系统定时任务(crontab)

  • 系统控制crontab服务 当 crond.service 服务开启使时定时任务生效

crontab命令设定定时任务

命令

  • crontab -u username -e #指定用户定时执行任务在这里插入图片描述

  • crontab -u username -l #查看指定用户的定时任务

  • crontab -u username -r #删除指定用户的定时任务在这里插入图片描述

注:如果不写username,默认在当前用户执行命令

  • crontab 时间表示方式
    1. * * * * * #表示每分钟
    2. */2  * * * * #表示每两分钟
    3. */2  09-17 * * *  #表示早上7点到晚上5点,每两分钟
      解释:一共5个部分表示时间,第一部分代表分钟,第二部分代表小时,第三部分代表一个月的第几天,第四部分代表第几个月,第五部分代表一周第几天。

crontab的黑白名单(对文件方式设定的定时任务没有影响)

  • /etc/cron.deny ##黑名单,系统中默认存在,在此文件中出现的用户不能执行crontab
  • /etc/cron.allow ##白名单,系统中默认不存在,可以建立出来,文件存在之后,普通用户不能执行crontab,并且黑名单实效,只有/etc/cron.allow上存在的名字和root用户可以执行crontab

文件方式设定定时任务

步骤

  1. 在/etc/cron.d/下建立个文件westos
  2. 编写westos文件内容就可以生效了 在这里插入图片描述

系统中临时文件的管理方式

意义:假设/mnt/westos目录下的文件都是临时文件,要求该目录下的文件只能存活10s
步骤

  1. 在/usr/lib/tmpfiles.d/ 目录下建立一个文件westos.conf

  2. 编辑文件内容 在这里插入图片描述

  3. systemd-tmpfiles --create /lib/tmpfiles.d/westos.conf #根据规则建立一个目录

  4. systemd-tmpfiles --clean /lib/tmpfiles.d/westos.conf #根据westos.conf规则来清理临时文件

注:系统在每天的0点过一分,会自动执行systemd-tmpfiles --clean /lib/tmpfiles.d/* 来清理我们系统的临时文件

猜你喜欢

转载自blog.csdn.net/Snji_G/article/details/107747239