1.系统延时任务 如遇到这种情况 Can't open /var/run/atd.pid to signal atd. No atd running? 则执行 重启服务
1 at
at 固定的时间 at now+1min(一分钟之后执行) touch file1 建立文件1 ctrl d 开启任务 at -l 查看延时任务列表 at -c 任务号 (查看任务内容) at -r 任务号 (删除任务) 12任务已被删除
当延时任务有输出时候,并不是输出在终端上,而是以邮件的形式发送给任务的发起者
邮件的存放位置 /var/spool/mail/用户名 :每一个用户的邮件会被记录在以其用户名为名称的文件中。 清空邮件
2.at任务用户的黑白名单 /etc/at.deny (用户的黑名单) 系统中默认存在 /etc/at.allow (用户的白名单) 系统中默认不存在可以建立,建立后所有普通用户都不能执行at 除非在其名单中 白名单成立后黑名单自动失效 老张在黑名单中所以不能执行at任务 harry没在黑名单中则可执行at任务 白名单成立后所有用户不能执行at任务
3系统定时任务设定 1.crontab 时间的表示方式 依次表示为 minute: 表示分钟,可以是从0到59之间的任何整数。hour:表示小时,可以是从0到23之间的任何整数。 day:表示日期,可以是从1到31之间的任何整数。month:表示月份,可以是从1到12之间的任何整数。week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。 表示每分钟 表示每2分钟 早上9点到下午三点每两分钟 5月3日每周二的早上9点到下午15点每两分钟
2.crontab
crontab -e -u 指定用户创建定时任务
建立了文件file{1.3} crontab -l -u 查看指定用户的定时任务
crontab -r -u # 取消指定用户的定时任务
3系统控制crontab的服务 crontab由crond.service 服务控制。当该服务开启时,所设定的定时任务才能生效。 service crond status 来运行服务
4.文件的方式设定定时任务
创建/etc/cron.d/xxx 文件 ,在该文件中编写需要执行的定时任务
任务编写格式:* * * * * 用户(执行该任务的) 任务操作
5.crontab 的黑白名单 crontab 的黑名单 /etc/cron.deny 系统中默认存在,出现在黑名单中的用户将无法使用crontab设定定时任务。
crontab 的白名单 /etc/cron.allow 系统中默认不存在,如果自己创建,黑名单失效,只有出现在白名单中的用户才能使用crontab设定定时任务,超级用户不受限制。
系统中临时文件的管理
systemd-tmpfiles 系统用来创建、管理、删除临时文件的命令。 临时文件都存在有效期,当其有效期过了之后就可诶被清理,但是有效期没过就不能被清理。所以设置定时任务对系统的临时文件进行清理,在每次清理时过期的文件会被清理掉,只要设置合适的清理周期,就能保证系统中临时文件不会占用大量资源。
/usr/lib/tmpfiles.d/ 中的.conf文件描述了 systemd-tmpfiles 如何创建、清理、删除临时文件和目录,记录了对临时文件的规范。 创建xxx.conf 文件,并写入规范
systemd-tmpfiles --create /usr/lib/tmpfiles.d/* 编写一个临时目录的规范文件,并扫描该规范文件创造出该目录 文件读取
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* 使用该指令对临时文件的规范文件进行扫描,过期的临时文件会被清理