Linux中的定时及延时任务

来源:互联网 发布:面板数据分析什么 编辑:程序博客网 时间:2024/05/17 01:04

1.延时任务

(1)at

        at now+时长  
        at 时间点  
        ctrl+d --发起任务
        atrm/at -r 任务id --取消任务
        at  -l  --查看延时任务id
        atq    --查看任务
        at  -m --让无输出命令产生邮件
        at  -M  --让有输出命令不产生邮件
        at  -c 任务id --查看此id任务执行动作
        at  -f 文件 --执行文件内记录的命令

***为验证实验,先新创建一个目录,并打开另一个终端对其进行监控***

 

『1』at now+时长

『2』at 时间点

『3』at         -m             ----让无输出指令产生邮件


***rm -rf的删除指令是无输出指令,本应无邮件,而此时有邮件***

『4』at       -M               -----让有输出指令不产生邮件

***touch创建指令是有输出指令,本应有邮件,而此时无邮件*** 

『5』at -c 任务id         ----查看此id任务执行动作

『6』at -f 文件名        ----执行文件内记录的命令

(2)at的权限

『1』at黑名单

/etc/at.deny       ***系统默认存在,在白名单出现时失效***

『2』at白名单

/etc/at.allow    ***默认情况下系统默认不存在,当其出现时at黑名单失效***


2.定时任务

(1)cron                        ----这个程序由 crond.service 服务提供
                                ----写入程序的时间和事件是永久保存的

『1』指令   crontab -e -u 用户名称(可不写,默认为当前用户)      ----即时生效


分钟  小时     天       月       周       事件
58       06        *          *         *    rm -rf /mnt/*                       ----每天6:58分删除mnt中所有
58       06     1,15     *         *    rm -rf /mnt/*                      ----每个月1和每月15号删除mnt中所有
58       06      1-15       *         *    rm -rf /mnt/*                      ----每个月1号到每月15号删除mnt中所有
58       06    1,15      3         *    rm -rf /mnt/*                      ----3月1号到3月15号删除mnt中所有
58       06   1,15       3         3   rm -rf /mnt/*                       ----3月1和15号和3月所有周三删除mnt中所有
58    06-17       *          *         *    rm -rf /mnt/*                      ----每天6点到17点的58分删除mnt中所有
*/30  06-17       *          *       1-5  rm -rf /mnt/*                      ----每周一到周五6点到17点每隔30分钟删除mnt中所有
『执行顺序由上至下』

     ----创建定时任务

文件创建的时间不同,可见定时任务已在执行。

『2』cron的黑白名单

 /etc/cron.deny   黑名单           ***系统默认存在,在白名单出现时失效***


/etc/cron.allow  白名单           ***默认情况下系统默认不存在,当其出现时cron黑名单失效***


(2)文件形式设置crontab

『1』vim /var/spool/cron/用户名称         ----以某个用户身份执行cron,文件名称必须和用户名称一致

  分  时  天  月  周  动作

 

 『2』vim /etc/cron.d/文件                    ----设定多个用户身份执行cron

<分> <时> <天> <月> <周> <用户> <动作>


3.系统临时文件管理            ----清理缓存

  vim /usr/lib/tmpfiles.d/filename.conf

 文件类型  路径  权限  用户,组  清理缓存时间



创建指令 :systemd-tmpfiles --create /usr/lib/tmpfiles.d/*

 执行指令:systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*

***两张图的删除时间不同,所以结果不同,可见已可清除缓存数据***


MBR相关

主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk.exe)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而实现多系统共存。

 

 分区

硬盘的容量=主分区的容量+扩展分区的容量
扩展分区的容量=各个逻辑分区的容量之和
主分区也可成为“引导分区”,会被操作系统和主板认定为这个硬盘的第一个分区。所以C盘永远都是排在所有磁盘分区的第一的位置上。
MBR(主引导记录)的分区表(主分区表)只能存放4个分区,如果要分更多的分区的话就要一个扩展分区表(EBR),扩展分区表放在一个系统ID为0x05的主分区上,这个主分区就是扩展分区,扩展分区能可以分若干个分区,每个分区都是个逻辑分区



扩展分区和逻辑分区
DOS和FAT文件系统最初都被设计成可以支持在一块硬盘上最多建立24个分区,分别使用从C到Z 24个驱动器盘符。但是主引导记录中的分区表最多只能包含4个分区记录,为了有效地解决这个问题,DOS的分区命令FDISK允许用户创建一个扩展分区,并且在扩展分区内再建立最多23个逻辑分区,其中的每个分区都单独分配一个盘符,可以被计算机作为独立的物理设备使用。关于逻辑分区的信息都被保存在扩展分区内,而主分区和扩展分区的信息被保存在硬盘的MBR内。这也就是说无论硬盘有多少个分区,其主启动记录中只包含主分区(也就是启动分区)和扩展分区两个分区的信息。



GPT分区

针对MBR分区。