Linux——计划将来的任务

1.计划延迟的用户任务

(1)at 命令:root 及普通用户可以使用此命令创建计划任务。at 软件包包含 atd 守护进程和一组命令(at、atq),atd 守护进程提供 a-z 共26个队列,按字母排序,越靠前的队列优先级越高。

(2)使用 at TIMESPEC 创建作业,TIMESPEC 非常灵活:

- now +5min

- teatime tomorrow(下午 16:00)

- noon +4 days

- 5pm august 3 2021

(3)atq 或 at -l 命令:查看用户的待处理作业。

at -c JOBNUMBER命令:查看此作业编号的详细信息。

at -q g teatime:以交互式方式将作业排入在16:00运行的队列g中。

(4)atrm JOBNUMBER命令:删除此作业编号的计划作业。 

(5)wacth atq命令:实时监控延迟作业的队列,执行完后将改作业从队列中删除。

2.计划周期性用户作业

(1)周期性作业:按计划重复运行的作业。crond 守护进程管理周期性作业,读取多个配置文件,crontab 命令编辑配置文件。如果计划任务运行失败,crond 会发送邮件给指定用户。

(2)crontab 命令

crontab -l列出当前用户的计划作业
crontab -r删除当前用户的所有作业
crontab -e编辑当前用户的作业
crontab -u超级用户用来管理其他用户的作业

 

(3)crontab 的字段格式是:分钟 小时 日 月 星期 命令

*:始终

x-y:表示范围

x,y:表示列表

*/x:表示x的间隔时间

3.周期性系统作业

(1)周期性系统作业,应始终在 /etc/cron.d 目录下创建自定义 crontab 文件。crontab 系统中还包含需要每小时、每天、每周和每月运行的脚本目录。 为目录中添加可执行的 shell 脚本,分别对应为:/etc/cron.hourly/、/etc/cron.daily/、/etc/cron.weekly/、/etc/ cron.monthly/ 的目录。

(2)/etc/cron.d/0hourly 文件调用 run-parts 命令运行/etc/cron.hourly/* 脚本。/etc/anacrontab 确保重要的作业始终运行。

(3)systemd定时器单元:可以激活另一个不同类型的单元,只要待激活的单元名称与该定时器单元名称相匹配即可。更改 systemd 配置后,使用 systemctl daemon-reload 让 systemd 重新加载配置,接着使用以下systemctl enable --now <unitname>.timer命令激活定时器单元。

4.管理临时文件

(1)使用 Systemd timer 清理临时文件

systemd定时器单元的systemd-tmpfiles-clean.timer 的 systemd timer unit 会定期触发 systemd-tmpfiles-clean.service 来执行 systemd-tmpfiles --clean命令。更改 systemd 配置后,使用 systemctl daemon-reload 让 systemd 重新加载配置,接着使用以下systemctl enable --now systemd-tmpfiles-clean.timer.timer命令激活定时器单元。

(2)手动清理临时文件

运行 systemd-tmpfiles --clean,删除超过一天时间内尚未被访问、更改 或修改的所有文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值