一、概述:任务调度:系统在某个时间执行的特定命令或程序
任务调度分类:
1.系统工作任务:系统中某些重要的周期性工作,如:系统备份,杀毒等
2.用户工作任务:用户操作执行的程序
任务调度文件位置:
/etc/crontab
编辑调度文件的命令:
crontab -e
执行:
调度任务进程会在满足预设时间条件后自动执行
二、实例讲解:
单任务调度:
实例实现:每分钟将系统时间追加至 mydate2 文件
分步命令:
1. 显示系统时间命令:date
2. 把系统时间写入文本mydate:date > /home/mydate2
3. 每分钟将系统时间追加至 mydate2 文件: date >> /home/mydate2
4. 写入调度文件的命令内容:* * * * * date >> /home/mydate2
操作截图:
1.进入调度文件命令:
2. 编辑调度文件,点击“ESC”键,输入 :wq 按回车保存
3. 控制台回显“crontab:installing new crontab” 表示添加调度任务成功。等几分钟后,用" ls -l " 查看 mydate2 文件已生成。
4. 运行命令:cat mydate2 查看调度任务结果如下:
5. 调度任务查看命令:crontab -l
6. 调入任务结束命令:crontab -r
执行此命令后 /etc/crontab 文件的内容会被删除
多任务调度:
方法一: 在crontab -e 命令下直接写。不推荐
缺点:机械执行,调度任务增多时,调度文件杂乱;修改调度文件困难;多用户执行时紊乱
方法二:把所有任务写成一个shell 文件。推荐
优点:可以利用shell 编程的特性写变量,过程控制等
实例讲解:
1. 编辑 shell 文件:vi mytask.sh
2. 保存 shell 文件。编辑调度任务文件内容,其实就是shell 文件的路径:
* * * * * /home/mytask.sh
3. 按道理来说,等几分钟之后就会有输出结果,但是我们 ls 之后发现没有输出结果,我们注意到,mytask.sh 文件没有执行的权限
4. 为 mytask.sh 分配执行权限,查看mytask.sh 修改后权限
5. 再过几分钟,就可以看到生成的 mytask.sh 文件了