Day04 Linux_crond&&at(作业调度器)
目录
文章目录
1.Linux_crond认识
crond服务在后台运行,负责监控crontab文件,并在预定时间执行任务
2.Linux_crond使用
2.1基本语法
crontab [选项]
-e:编辑定时任务
-l:查询crond任务
-r:删除当前所有的crontab任务
2.2 crontab文件的格式
* * * * * /path/to/command arg1 arg2
五个星号分别代表分钟、小时、日期、月份和星期几(0或7表示周日)。
例如:0 2 * * * /path/to/command
这条命令会在每天凌晨2点执行/path/to/command。
2.2.1 特殊字符
*:代表所有可能的值。
-:表示一个范围,如1-5表示1到5。
,:表示一个列表,如1,3,5表示1、3和5。
/:表示起始时间开始,每隔指定时间执行一次,如0/30 * * * *表示每小时的第0分钟和第30分钟执行。
3.注意编写文件执行的权限问题
3.1文件编写
my.sh文本中:
data >> /home/mycal
cal >> /home/mycal
追加data(名称),写入当前月份的日历的输出(cal命令)写入/home/mycal文件
3.2 发现文本执行权限问题
无执行权限
3.3 增加权限
chmod u+x my.sh
3.4手动执行
./my.sh
4. 将编写的文件放入crond(自动调用)
crontab -e
4.1 重定向与追加选择
cal >> /home/mycal:追加
cal > /home/mycal:重定向 覆盖该文件中的现有内容
5.at定时任务(at)
5.1 at认识
at [选项] [时间]
Ctrlc+ D:结束at命令输入
例:echo "echo Hello, World!" | at now + 5 minutes
5分钟后执行 echo "Hello, World!" 命令
5.2 at时间定义(与crond不同)
5.3 查看/删除任务队列
查看:atq
删除编号为 5 的任务:atrm 5
5.4 实现定时任务
两天后的下午5点执行 /bin/ls /home 命令
at 5:00 PM + 2 days
at> /bin/ls /home
at> <EOT>
首先输入 at 命令和想要安排的时间。
输入时间后,at 会提示 at>,这时你可以输入要执行的命令。
输入完毕后,按 Ctrl+D(或 <EOT>,取决于系统)结束输入,at 将记录下命令并安排执行。