您的当前位置:首页正文

六、Linux进阶——系统定时任务、延迟及临时文件

2024-11-10 来源:个人技术集锦

1.延迟任务

timedatectl
timedatectl set-local-rtc 1
timedatectl set-time 2020-02-22

1.延迟任务的发起

at 10:10
>rm -fr /mnt/* ##执行内容
><ctrl+d> ##任务发起

at -l ##查看任务对列
at -c 任务号 ##查看任务内容
at -r 任务号 ##取消任务

  • 当延迟任务有输出,输出会以邮件形式发送到任务发起者邮箱中

    dnf install mailx postfix ## 安装postfix
    systemctl start postfix ## 开启postfix

    任务发起
    at 08:50
    >timedatectl ## 此命令有输出但不会显示到字符设备中,输出会用邮件发送给at发起人
    >[ctrl]+[d]

    mail -u root ##查看root用户的邮件
    &1 ## 输入邮件编号查看
    &q ## 退出

  • at命令的控制

/etc/at.deny ##at控制黑名单,此名单中的人不能执行at,此文件默认不存在
/etc/at.allow ##at 控制表名单,默认不存在,此文件存在/etc/at.deny不生效,系统普通用户默认不能执行at,只有在名单中可执行
1)没设置黑白名单,zx和westos均可执行

2. 定时任务

2.1 crond

  • 命令设定方式设定(用户级别)

    crontab -u root -e ##设定
    crontab -u root -l ##查看
    crontab -u root -r ##删除
    /var/spool/cron/root ##任务存储位置

时间                         动作 
分钟    小时  天  月  周           rm -fr /mnt/*
08-17    *    *  *   *      每天每小时08-17分执行
08-17    *    *  *  3,5     每周3,5每小时08-17分执行
08-17/2  *    *  *  3,5     每周3,5每小时08-17分时间段每隔2分钟
08-17/2  10   5  *  3,5     每周3,5及每月5号10点08-17时间段每隔2分钟
08-17/2  10   5  3  3,5     每周三-周五及3月5号10点08-17每隔2分钟执行一次

  • 配置文件方式设定(系统级别只有超级用户可操作)

    /etc/cron.d ##系统级别cron设定文件存放路径

	vim /etc/cron.d/file   ##cron设定文件	
		##
		时间                  用户        动作 
		* * * * *             root       rm -fr /mnt/file
		##
	chmod +x file

/etc/cron.daily/               ##每天任务 
/etc/cron.hourly/              ##每小时任务 
/etc/cron.monthly/             ##每月任务 
/etc/cron.weekly/              ##每周执行动作

2.2 用户级别crond控制设定

vim /etc/cron.deny ##cron用户名单,用法同at.deny
vim /etc/cron.allow ##cron白名单,用法同at.allow

3、系统临时文件的管理方式

cd /usr/lib/tmpfiles.d/
vim westos.conf
	文件内容:
	d     /mnt/westos  777   root   root    5s
	目录  要建立的目录 权限 拥有者 所属组  
systemd-tmpfiles --create /usr/lib/tmpfiles.d/*  #读取里面的所有文件并按规则去建立目录
cd /mnt/westos
touch file{1..p}
等待5s
systemd-tmpfiles --clean  /usr/lib/tmpfiles.d/*  #按照规则清理目录中的文件


4、测试

显示全文