十六、Linux定时任务调度
crontab 进行定时任务的设置
- 任务调度:指系统在某个时间执行的特定命令或程序
- 任务调度分类:1、系统工作 ,有些重要的工作必须周而复始的执行,如病毒扫描等
2、个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份
- 基本语法
crontab [选项]
- 常用选项
快速入门案例:
设置任务调度文件:/etc/crontab
设置个人任务调度,执行crontab -e命令
接着输入任务到调度文件
如:/1 * ***ls /etc/ > /tmp/to.txt命令
意思是每个小时的每分钟执行ls -l /etc/ > /tmp/to.txt
步骤如下:
crontab -e
*/ 1 * * * * ls /etc/ > /tmp/to.txt
保存退出后生效
每分钟都会自动调用ls /etc/ > /tmp/to.txt
参数细节说明:
任务调度应用实例:
(1)、每隔一分钟就将当前的日期信息追加到/tmp/mydate文件中
第一步:先编写一个文件/home/mytask1.sh
date>> /tmp/mydate
第二步:给mytask1.sh可执行权限 chmod 744 mytask1.sh
第三步:crontab -e
第四步: * /1 * * * * /home/mytask1.sh
第五步:保存生效
(2)、每隔一分钟,将当前日期和日历都追加到/home/mycal文件中
第一步:先编写一个文件/home/mytask2.sh
vim /home/mytask2.sh
date>>/tmp/mycal
cal>>/tmp/mycal
第二步:给mytask2.sh可执行权限 chmod 744 mytask2.sh
第三步:crontab -e
第四步: * /1 * * * * /home/mytask2.sh
第五步:保存生效
(3)、每天凌晨2:00将mysql数据库testdb备份到文件中mydb.bak
第一步:先编写一个文件/home/mytask3.sh
/usr/local/mysql/bin/mysqldump -u root -p root testdb > /tmp/mydb.bak
第二步:给mytask3.sh可执行权限 chmod 744 mytask3.sh
第三步:crontab -e
第四步: 0 2 * * * /home/mytask3.sh
第五步:保存生效
crond相关指令:
(1)、crontab -r:终止任务调度
(2)、crontab -l:列出当前有哪些任务调度
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?