定时任务调度
crond任务调度
利用crond可以定时调用指定脚本或是简单指令
crontab [选项]
- -e 编辑crontab定时任务
- -l 查询crontab任务
- -r 删除当前用户所有的crontab任务
步骤:
- 设置任务调度文件: /etc/crontab
- 设置个人任务调度 crontab-e 命令
- 接着输入任务到调度文件 如:*/1 * * * * ls-l /etc/>tmp/to.txt
意思是每小时每分钟执行ls-l /etc/>/tmp/to.txt命令
5个占位符:
特殊符号:
时间执行案例:
应用案例:
每隔1分钟,将当前的日期信息追加到 /tmp/mydate 文件中
- */1 * * * * date >> /tmp/mydate
每隔1分钟,将当前日期和日历都追加到 /home/mycal文件中
- vim/home/my.sh 写入内容 date >> /home/mycal 和 cal >> /home/mycal
- 给my.sh增加执行权限 chmod u+x /home/mysh
- crontab -e 增加 */1 * * * * /home/my.sh
crond 相关指令
- crontab -r:终止任务调度
- crontab -l:列出当前有哪些任务调度
- service crond restart [重启任务调度]
at定时任务
at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行
at [选项] [时间]
Ctrl+D 结束at命令的输入,输入两次
at命令选项:
at指定时间的方法:
- 使用hh:mm(小时:分钟)若时间已过去,就放在第二天执行
- 使用midnight,noon,teatime等比较模糊的词语来指定时间
- 采用12小时计时制,即在时间后面加上AM,PM
- 指定命令的具体日期,格式为month day或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)指定日期必须跟在指定时间后面 如:04:00 2022-11-12
- 使用相对计时法:now+count time-units 例如:now +5 minutes
- 直接使用today、tomorrow来指定完成命令的时间
实例:
2天后下午5点执行 /bin/ls/home
明天17点,输出时间到指定文件内
2分钟后,输出时间到指定文件内
参考教程:【小白入门 通俗易懂】2021韩顺平 一周学会Linux
后续将持续更新我的学习笔记,欢迎点赞关注。
往期回顾:
Linux学习笔记(1)——vim运用
Linux学习笔记(2)——用户管理
Linux学习笔记(3)——实用指令
Linux学习笔记(4)——组管理和权限管理