任务调度:是指系统在某个时间执行特定的命令或程序。
crontab [选项]
在linux的命令界面输入:crontab -e 该命令会打开vim,我们在该界面中编写我们要执行的定时任务 * * * * * /要执行的命令或脚本
编写完定时任务后保存退出,这样一个定时任务就创建完毕了。
定时任务是以5个占位符 * 分别代表不同的时间点来执行后面的任务
1.五个占位符
2.特殊符号
1. * :代表任何时间。比如第一个 * 就一个小时的每分钟都执行一次的意思
2. ,:代表不连续的时间。比如 “0 8,12,16 * * *” 命令,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
3. - :代表连续的时间范围。比如 “0 5 * * 1-6” 命令,表示在每周一到周六的凌晨五点0分都执行一次命令
4. */n : 代表每隔多久执行一次,比如 “*/10 * * * *” 命令,表示每隔10分钟就执行一遍命令
3.特定时间执行命令
45 22 * * * 命令:在每天的22点45分执行一次命令
0 17 * * 1 命令 :在每周一的17点0分执行一次命令
0 5 1,15 * * 命令:在每个月的1号和15号凌晨5点0分执行一次命令
40 4 * * 1-5 命令:在每周一到周五凌晨4点40分执行一次命令
*/10 4 * * * 命令 :在每天的凌晨4点,每隔10分钟执行一次命令
0 0 1,15 * 1 命令:在每月的1号和15号,每周1的0点0分执行一次命令。
注意:星期几和几号最好不要同时出现,因为他们定义的都是天,这样非常容易让管理员造成混乱。
任务1.每个10分钟,向/home/test.txt文件中添加一个字符串hello (不使用脚本,因为该任务较为简单,可以不用编写脚本)
①.直接输入命令crontab -e 打开定时任务编辑
②.写入定时任务:*/10 * * * * /bin/echo "hello" >> /home/test.txt
任务2.每隔10分钟,将当前日历追加到/home/mycal文件中(以脚本的方式编写)
步骤:
①.先编写一个脚本文件 /home/mytask.sh
②.用vim打开该文件,在该文件中编写脚本:cal >> /home/mycal
③.给mytask.sh脚本一个可执行权限,因为必须要有可执行权限,定时任务才能调度该脚本
chmod 744 /home/mytask.sh
④.编写定时任务:crontab -e 打开编辑界面后编辑定时任务:*/10 * * * * /home/mytask.sh
⑤.成功