at,crontab例行性任务
at:仅执行一次就结束的调度命令
at [-mldvc] TIME
-m:当at的工作完成后,即使没有输出信息,也会以email的方式通知用户工作已完成
-l:相当于atq,列出系统上所有该用户的at调度
-d #:相当于atrm,取消一个工作调度
-v:显示详细时间格式信息
-c #:列出调度任务的详细工作内容
TIME:
HH:MM 例:12:00
HH:MM YYYY-MM-DD 例:12:00 2018-08-08
HH:MM + # [minutes|hours|days|weeks] 例:now + 5 minutes 12:00 + 5 days
/etc/at.allow:写在这个文件中的用户允许使用,不在这个文件中的用户不可以使用
/etc/at.deny:写在这个文件中的用户不允许使用,不在这个文件中的用户可以使用
这两个文件都不存在的话只有root可以使用。一个用户写一行。
batch:系统空闲时才会执行的调度命令,用法和at一样。
crontab:可以一直循环执行的调度命令
/etc/cron.allow:写在这个文件中的用户允许使用,不在这个文件中的用户不可以使用
/etc/cron.deny:写在这个文件中的用户不允许使用,不在这个文件中的用户可以使用
这两个文件都不存在的话只有root可以使用。一个用户写一行。
cron执行的例行性任务都在/var/spool/cron/用户名/ 下
crontab
-u username:帮助其他用户建立任务,只有root才可以执行
-e:编辑crontab任务
-l:查看crontab任务
-r:删除所有的crontab任务,如果仅删除一项,用-e删一行
crontab任务中每列都是一样的格式。
分钟:0-59
小时:0-23
日期:1-31
月份:1-12
周:0-7。0和7都代表周日。周与日月不能同时进行。
命令:要执行的命令
表示时间的还有一些辅助的字符
*星号:代表任何都接受;* * * * 2 command代表每周2执行命令
,逗号:代表分段时间;* * * * 2,4 command代表每周2和周4执行命令
-减号:代表一段时间;* * * * 1-5 command代表每周一到周五执行命令
/n:代表每隔多长时间;*/5 * * * * command代表每5分钟执行一次命令
/etc/crontab:系统例行性任务配置文件
1 2 3 4 5 6 7 8 9 | [root@bogon ~] # cat /etc/crontab SHELL= /bin/bash #使用哪种接口 PATH= /sbin : /bin : /usr/sbin : /usr/bin #执行文件查找路径 MAILTO=root #如果有输出信息,邮件发送给root HOME=/ #默认shell的家目录 1 * * * * root run-parts /etc/cron .hourly #每小时执行的任务 2 2 * * * root run-parts /etc/cron .daily #每周执行的任务 3 3 * * 3 root run-parts /etc/cron .weekly #每星期执行的任务 4 4 4 * * root run-parts /etc/cron .monthly #每月执行的任务 |
root代表以root身份执行。run-parts代表执行文件夹内所有的脚本。这些文件夹都在/etc目录下
1 2 3 4 5 6 7 8 | [root@bogon ~] # ls /etc | grep ^cron cron .d cron .daily cron .deny cron .hourly cron .monthly crontab cron .weekly |
anacron:在应该进行例行性任务的时候,系统关机了,没有进行,当系统再次启动时,anacron会检查该做的任务有没有进行,没有进行的话会根据配置文件进行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [root@bogon ~] # cat /etc/anacrontab # /etc/anacrontab: configuration file for anacron # See anacron(8) and anacrontab(5) for details. SHELL= /bin/sh PATH= /sbin : /bin : /usr/sbin : /usr/bin MAILTO=root # the maximal random delay added to the base delay of the jobs RANDOM_DELAY=45 # the jobs will be started during the following hours only START_HOURS_RANGE=3-22 #period in days delay in minutes job-identifier command 1 5 cron .daily nice run-parts /etc/cron .daily 7 25 cron .weekly nice run-parts /etc/cron .weekly @monthly 45 cron .monthly nice run-parts /etc/cron .monthly |
天数 延迟时间 工作名称定义 进行的任务
延迟时间:在准备多长时间后执行后面的任务
/var/spool/anacron/*:时间戳文件。anacron利用这些文件检查任务是否已经进行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [root@bogon ~] # more /var/spool/anacron/* :::::::::::::: /var/spool/anacron/cron .daily :::::::::::::: 20180517 :::::::::::::: /var/spool/anacron/cron .monthly :::::::::::::: 20180424 :::::::::::::: /var/spool/anacron/cron .weekly :::::::::::::: 20180517 [root@bogon ~] # |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能