Linux大神进阶十一:Linux中定时任务,延时任务及临时文件的优化管理

文章目录

1.理解

(1)定时任务:固定的时间进行相应的操作;
(2)延时任务:规定时间可以推迟进行相应的操作;
(3)临时任务:临时文件具有生命周期,不是清空的时候它就被立马情况,而是生命周期结束以后会被清空。
注意:定时任务是永久的,延时任务是一次性的;临时文件正在用的时候不能删除,有生命周期。

2.命令

功能 命令 注释
1(at)
1.1 (at定时任务)
at定时实验1:① at 时间 ## 设定任务执行时间
at > 命令 ##任务动作
at> (ctl+d) ##用ctrl+d发起任务
at定时实验2 at -l ##列出定时任务
at -c 1 ## 查看序号为1的任务
at -r 1 ##删除序号为1的任务
1.2 (at延时任务) at now+1min ##延时1分钟
at> rm -fr /mnt/* ## 执行任务
at> ctrl+d 开始延时任务计时 ##开始延时任务计时
at now+1min 命令 ## 1分钟后执行命令
1.3(at黑白名单,针对普通用户) /etc/at.deny ##黑名单,系统中默认存在,在此文件中出现的用户不能执行at
/etc/at.allow ##白名单,系统中默认不存在,在此文件中出现的普通用户能执行at,只有在名单中的用户可以,并且/etc/at.deny失效 , 注意:/etc/at.allow存在/etc/at.deny就失效,系统本来就没有/etc/at.allow,当这个文件建立之后即使是空的,其他普通用户也不能使用at命令了,此时只有超级用户是可以定时的;当student同时出现在allow和deny当中时,deny会失效,因此student可以使用at命令
2. crontab 执行定时任务的时候,crond.service这个服务必须开启,man 5 crontab可以查看这个命令的用法,cat /var/spool/cron/root定时任务是放在这个文件里面的删除任务的同时文件也就没有了,删除文件的同时任务也就没有了
systemctl start crond.service ## 打开crond.service服务
2.1 (crontab定时任务)
①具体格式 crontab -e ##表示编辑
crontab -u ##表示用户
crontab -l ##表示列出
crontab -r ## 表示删除
crontab -e -u root ## 为root用户创建计划任务
crontab -l -u root ##列出root用户的计划任务
crontab -r -u root ##删除root用户的计划任务
②时间表示法 ## 注意:最后的星期几与日月是或的关系
* * * * * ## 每分钟
*/2 * * * * ## 每两分钟
*/2 09-17 * * * ##9-17每两分钟
*/2 */2 * * * ##每隔2小时每两分钟
*/2 09-17 3,5 1 ## 5月的每个周四以及三月1号
*/2 09-17 * * 5 ##每周周五早9晚5
实验步骤:① systemctl status crond.service,systemctl start crond.service ##服务开启
crontab -e -u root ##为root用户创建定时任务
vim按时间格式进行定义 命令
crontab -l -u root ##列出root用户的定时任务
cat /var/spool/cron/root ##这个文件里面可以看到定时任务
crontab -r -u root ## 删除root用户的定时任务
rm -rf /var/spool/cron/root ##删除定时任务
cat /var/spool/cron/root ## 在这个文件里面看不到定时任务
2.2 crontab的黑白名单(与at的黑白名单用法一模一样)
(黑名单) /etc/cron.deny ##黑名单,系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow ##白名单,系统中默认不存在,在此文件中出现的普通用户能执行crontab,只有在名单中的用户可以,并且/etc/crontab.deny失效 , 注意:/etc/cron.allow存在/etc/at.deny就失效,系统本来就没有/etc/cron.allow,当这个文件建立之后即使是空的,其他普通用户也不能使用at命令了,此时只有超级用户是可以定时的;当student同时出现在allow和deny当中时,deny会失效,因此student可以使用cron命令
3文件方式设定定时任务 ##系统当中常见的任务在/etc/cron.d下面放着;cd /etc/cron.d;ls 查看系统的定时任务;每一个文件都可以用vim查看;在这个目录下我们可以直接写入定时文件 ,比如:vim westos;每次把所有的定时任务写在/mnt/下面,可以采用实时监控,也可以ls /mnt/查看有没有定时实现
mkdir /westos ##创建文件
cd 、westos ##
vim test.sh ##打开测试脚本
#!/bin/bash>>>touch /mnt/file{1…3}>>>chmod +x test.sh
##编写测试脚本
crontab -e -u root ##打开定时格式文件
* * * * * root run-parts /westos ##编辑定时格式文件
vim /etc/cron.d/file ##打开定时任务操作文件
* * * * * username action ##编辑定时任务
watch -n 1 “ls -lR /mnt/” ##验证
4.临时文件的管理步骤
cd /usr/lib/tmpfiles.d ##打开该目录
vim westos.conf ##创建临时文件
d /mnt/westos 777 root root 8s (这个目录是没有的) ##编辑westos.conf内容,目录 目录名称 权限 所有人 所有组 生命周期 这个目录的属性,其中生命周期是目录下面的文件的生命周期,目录的作用是作用于文件
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##自动建立/mnt/westos/
touch /mnt/westos/file{1…3} ##
watch -n 1 ls -lR /mnt/ ##监控这个目录以及子目录和子文件
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##清空/mnt/westos/这个目录下面的东西只有当目录下的文件的生命周期到了以后(周期到了也不会自动消失),clean才会清除它,但是rm -rf可以随时删除它

3.结果

Result1-2 at定时实验1-2
在这里插入图片描述Result3at延时实验1-2
在这里插入图片描述
Result4 at黑白名单
在这里插入图片描述
Result5 crontab定时
在这里插入图片描述Result6 文件方式设定定时任务

在这里插入图片描述Result7临时文件管理
在这里插入图片描述

发布了33 篇原创文章 · 获赞 8 · 访问量 2290

猜你喜欢

转载自blog.csdn.net/Pierce110110/article/details/102832828