Linux系统定时任务
让计算机在指定的时间完成指定的工作
at一次性定时任务
- 确定系统已经安装at
[root@openmind /]# which at /usr/bin/at [root@openmind /]# at -V at version 3.1.13
- 确定at服务已经启动
service atd restart
at的访问控制
at命令
案例:
at now +2 minutes # 在两分钟之后执行hello.sh脚本 [root@openmind /]# cat hello.sh #!/bin/sh echo "hellooooooo" >> /root/hello.log [root@openmind ~]# at> /root/hello.sh >> /root/hello.log [root@openmind ~]# at now +1 minutes at> /hello.sh at># 【Ctrl + D保存退出】 job 3 at Tue Jul 27 14:03:00 2021
atq: 查看当前需要的尚未执行的任务
at -c [qid]: 查看执行任务的详情
🍎 在指定时间重启 【重启建议人工执行】
[root@openmind /]# at 16:00 2021-07-27 at> /bin/sync at> /sbin/shutdown -r now at>job 6 at Tue Jul 27 16:00:00 2021
★★★★★ 🍎crontab循环定时任务
crontab访问控制
crontab命令格式
crontab 【选项】 -e: 编辑crontab定时任务 -l: 查询crontab任务 -r: 删除当前用户所有的crontab任务
crontab编辑任务
[root@openmind /]# crontab -e # 进入crontab编辑界面,会打开vim编辑你的工作 ***** 执行的任务
crontab查看定时任务
crontab -l
删除root用户所有的定时任务
crontab -r
注意事项
1. 六个选项都不能为空 2. crontab定时任务,最小有效时间是分钟,最大时间范围是月 3. 定时任务的命令要写绝对命令
系统的crontab设置
crontab -e
是每个用户执行的命令,即不同的用户身份可以执行自己的定时任务。有些定时任务需要系统执行,就需要编辑/etc/crontab
这个配置文件
vim /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
执行系统的定时任务方法
- 手工执行定时任务(不推荐)
- 系统执行定时任务
- 第一种: 将需要定时执行的脚本复制到
/etc/cron.{daily,weekly,monthly}
目录中的任意一个 - 第二种: 修改
/etc/crontab
配置文件
- 第一种: 将需要定时执行的脚本复制到
anacron配置(定时任务的保障机制) - anacron:舔狗或许会迟到,但从不会缺席
anacron是用来保证在系统关机的时候错过的定时任务,可以在系统开机之后再执行。
cron.daily工作来说明执行的过程
学而不思则罔,思而不学则殆!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具