一、定时任务:永久 延时任务:一次性 监控命令 watch -n 1 ls -lR /mnt (l ==longer ;R==递归) 二、延时任务命令:at(存在内存中,关机清空) 1.at hh:mm | at now+1min at> ... at> <crtl+d> 开始执行 at -l ##列出所有延时任务 at -c job 号 ####查看某个任务的详细信息 at -r job 号 ####取消某个任务
操作:
[root@localhost ~]# at now+1min ##一分钟后 at> touch /mnt/file{1..5} ##建立文件 at> <EOT> ##ctrl+d 执行命令 job 1 at Tue Oct 23 09:41:00 2018 ##一分钟后是09:41:00运行 [root@localhost ~]# at -l [root@localhost ~]# at 09:42 ##在09:43时刻 at> rm -fr /mnt/file{1..5} ##删除文件 at> <EOT> ##ctrl+d 执行命令 job 2 at Tue Oct 23 09:43:00 2018 [root@localhost ~]# at -l ##查看任务内容的编号 2 Tue Oct 23 09:43:00 2018 a root [root@localhost ~]# at -c 2 ##查看任务详细内容 #!/bin/sh # atrun uid=0 gid=0 # mail root 0
[root@localhost ~]# at -r 2 ##取消job2任务 2.黑名单/etc/at.deny:本身存在。加入谁,谁不可执行;其他人都可以 白名单/etc/at.allow:本身不存在,有了白名单,则黑名单失效。加了谁,只有他和root可以执行;其他都不可以
测试:黑名单中加linux
白名单加linux,黑名单失效,只有白名单和root可做延时任务
三、定时任务 1.服务:chronyd.service(开启) 2.用户级定时任务 crontab -e -u 用户 ###添加某用户的定时任务
分钟 小时 天 月 周 /bin/touch /mnt/file{1..3} ##执行命令地址 * * * * * ##每月每周每天每小时每分钟 */2 * * * * ##每月每周每天每小时每分钟2次 */2 08-17 * * * ##每月每周每天8:00-17:00每分钟2次 */2 08-17 1,15 * * ##每月,每周,1和25号,8:00-17:00每分钟2次 */2 08-17 1,15 3-5 * ##3到5月,每周,1和25号,8:00-17:00每分钟2次 */2 08-17 1,15 3-5 3 ##3到5月的1和25号以及每周3,8:00-17:00每分钟2次
crontab -l ###列出定时任务 crontab -r -u 用户 ###删除该用户的所有定时任务 3.任务存放地址:/var/spool/cron/用户 4.黑名单/etc/cron.deny:本身存在。加入谁,谁不可执行;其他人都可以 白名单/etc/cron.allow:本身不存在,有了白名单,则黑名单失效。加了谁,只有他和root可以执行;其他都不可以 5.系统级定时任务 vim /etc/cron.d/xxx * * * * * 用户 命令 cat /etc/cron.d/xxx 查看 crontab -l看不了 cat /etc/crontab 看编辑格式 /etc/cron.d/0hourly 里设定了/etc/cron.hourly里的东西每整点执行
操作:
[root@foundation68 ~]# cd /etc/cron.d ##切换到cron.d [root@foundation68 cron.d]# ls ##查看这个目录下的文件 0hourly raid-check sysstat [root@foundation68 cron.d]# cat 0hourly ##设定了/etc/cron.hourly里的东西每整点执行 # Run the hourly jobs SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root 01 * * * * root run-parts /etc/cron.hourly ##编写这个格式的命令 [root@foundation68 cron.d]# vim westos
* * * * * root touch /mnt/file{1..5} ##整分过1秒执行
四、临时文件管理(linux系统不卡顿原因) 1.系统会每天零点过一分时对未使用临时文件进行清理(--clean命令)。当电脑关闭时,定时任务不执行,在开机时,crond.service 服务开启状态里面的anaron服务对未执行的定时任务立即执行 2.正在使用临时文件存放位置:/usr/lib/tmpfiles.d 它里面的.conf文件里记录着临时文件生成策略: 类型 绝对路径 权限 所有人 所有组 子文件在系统存活时间 systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ###读取/usr/lib/tmpfiles.d/下所有配置文件的要求,按照要求执行 systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ###读取/usr/lib/tmpfiles.d/下所有配置文件的要求,按照要求删除临时文件目录中的过期文件 注:以上命令也是定时任务
实验步骤: 监控:watch -n 1 ls -R /mnt/ -l cd /usr/lib/tmpfiles.d vim westos.conf ##.conf是临时文件后缀 d /mnt/westos 1777 root root 5s ##5秒后创建或删除 systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##创建临时文件 touch /mnt/westos/file ##5s前创建 touch /mnt/westos/file1 ##5s中创建 systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##删除临时文件
ls /mnt/westos ##只有file1注意:配置文件中生成的文件夹不会被删除,但是文件夹内的文件会被清空