系统延时及定时任务
一:系统延时任务
延时任务是临时的
1.at命令
at + time
延迟的动作
ctrl+d保存
at -l | atq #查看当前任务
atrm | at -d +任务号 #取消指定任务
at -c +任务号 #查看任务内容
at now+1min #延时一分钟
at -f file #延时执行文件中的内容(文件不是脚本)
at -m (at命令后添加)#延时命令没有输出时也发送邮件给执行者
at -M (。。。) #延时命令即使有输出也不发送邮件给执行者
在09:59执行删除 /mnt内所有内容
在两分钟之后执行在桌面新建文件file
查看当前任务
删除任务12
查看当前任务已删除
在文件file中输入 touch /mnt/123
执行文件file中的内容
延时命令 touch file1 没有输出时也发送邮件给执行者
延时命令 date 即使有输出也不发送邮件给执行者
查看mail 延时命令18 没有输出,也发送邮件给执行者root
用watch -n 1 ls /mnt 命令监控
2.at命令的执行权力设定
/etc/at.deny (直接在文件中写用户名) ##用户黑名单,此名单中的用户不能执行at命令/etc/at.allow ##用户白名单,此名单默认不存在,建立后所有用户均没有at命令执行权限,此名单中的用户才有at命令执行权限
二:定时任务
定时任务是永久的
定时任务程序crond,在系统中每分钟做任务扫描
1.发起方式
发起方式一
crontab -u username -e ##username用户建立定时任务
此命令会进入一个文本,该文本的填写方式是:
分 时 天 月 周 + 命令
crontab -u username -l ##查看某用户的定时任务
crontab -u username -r ##删除某用户的定时任务
发起方式二
vim /etc/cron.d/filename 创建一个文件并在里面填写,此文件可以填写多个用户
填写方式是:
分 时 天 月 周 + 用户 + 命令
1 9 * * 5 root touch /mnt/file ##表示root用户每周五的9点1分在/mnt目录下建立一个文件file
2.时间表示方法
1 2 3 4 5 + 命令(五个必须全写)
1 ---- 分钟
2 ---- 小时
3 ---- 天
4 ---- 月
5 ---- 周
上述数字填写范围
* ---- 每(如每分钟)
1(分钟) ---- 0-59
2(小时) ---- 0-23
3(天) ---- 1-31
4(月) ---- 1-12
5(周) ---- 0-7 (0和7都表示星期天)
例:* * * * * 表示每分钟都执行一次
2.crontab命令的执行权力设定
/etc/cron.deny (直接在文件中写用户名) ##用户黑名单,此名单中的用户不能执行crontab命令
/etc/cron.allow ##用户白名单,此名单默认不存在,建立后所有用户均没有at命令执行权限,此名单中的用户才有crontab命令执行权限
在文件//etc/cron.deny中写入 student
student用户无法执行crontab命令
三:系统中的临时文件
系统中服务在正常运行时会产生临时文件
在系统中 /usr/lib/tmpfiles.d/ 目录下存放
系统的临时文件配置是 /usr/lib/tmpfiles.d/*.conf
自己创建的临时文件配置文件必须以.conf结尾
临时文件配置的编写方式是:
文件类型 文件名 文件权限 文件所有人 文件所有组 文件存在的时间
d /mnt/westos 777 root root 10s
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##执行临时文件配置
用watch -n 1 ls /mnt 监控
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/clean.conf 清理临时文件