Linux运维学习--定时任务及延迟任务
一、系统延迟任务
1.at
命令
at
命令可以指定某一任务在将来的特定时间运行
2.命令用法
at 18:09
at>定时任务命令
at -l #查看定时任务
at -c 任务号 #查看任务详细信息
at -r 任务号 #取消定时任务
at now+1min
at>延时任务命令 #一分钟后执行任务
3.at
命令黑白名单
/etc/at.deny
黑名单,系统中默认存在,在此文件中出现的用户不能执行at
命令/etc/at.allow
白名单,系统中默认不存在,只有在此名单中的用户和超级用户才可以执行at
命令,该文件存在时黑名单失效
黑名单示例:
将leo用户加入黑名单:
切换到leo用户发现没有权限执行at
命令;
另一用户student可以执行at命令:
白名单示例:
将用户leo加入白名单中:
leo用户可以使用at
命令;
另外一个用户不能使用at
命令:
二、用户级系统定时任务
1.crontab命令
使用crontab
可以在指定的时间执行一个shell脚本或者一系列Linux命令
man 5 crontab #可以查看这个命令的用法
2.命令用法
crontab -e #修改 crontab 文件. 如果文件不存在会自动创建。
crontab -l #显示 crontab 文件。
crontab -r #删除 crontab 文件。
crontab -ir #删除 crontab 文件前提醒用户
crontab -e -u root #为root用户创建计划任务
crontab -l -u root #列出root用户的计划任务
crontab -r -u root #删除root用户的计划任务
crontab时间表示方式:
示例:
进入编辑界面:
查看任务:
3.cron 权限设定
在系统中默认所有用户可以设定 cron
用户黑名单:/etc/cron.deny
用户白名单:/etc/cron.allow
cron黑白名单与at命令黑白名单使用类似
三、系统中的临时文件
系统中服务在正常运行时会产生临时文件,这些临时文件存放在系统中 /usr/lib/tmpfiles.d/
目录下
1.创建临时文件
systemd-tmpfiles --create /usr/lib/tmpfiles.d/test.conf
2.清理临时文件
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/test.conf
注意:临时文件生命周期到了之后如果不执行清理命令临时文件并不会被自动清理
3.实验
在临时文件目录中新建.conf
文件:vim test.conf
在.conf
文件中写入以下内容:
d /mnt/testfile 1777 root root 10s
# [文件类型] [文件名称] [文件权限] [所有人] [所有组][生命周期]
watch
命令监控/mnt/
目录
执行创建临时文件命令:
在/mnt/testfile/
目录下创建文件:
10秒后执行清理命令发现文件被清理:
在此建立文件并立即执行清理命令发现文件文件没有被清理:
还没有评论,来说两句吧...