目录
案例一:每隔1分钟,就讲当前的日期信息追加到/tmp/mydate文件中
案例二:每隔1分钟,将当前日期和日历都追加到/tmp/mycal文件中
案例3:明天17点,输出时间到指定文件内,比如/root/date100.log
案例4:2分钟后输出时间到指定文件内,比如/root/date200.log
一 crond任务调度
crontab 进行 定时任务的设置
1 概述
任务调度
是指系统在某个时间执行的特定的命令或程序
任务调度分类
(1)系统工作:有些重要的工作必须周而复始的执行,比如病毒扫描
(2)个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份
crond任务调度原理图如下图所示
crond是linux的后台程序
2 基本语法
crontab 选项
3 常用选项
-e edit编辑crontab定时任务
-l list查询crontab任务
-r remove删除当前用户所有的crontab任务
4 快速入门
任务
通过crontab -e指令,设置任务调度文件:/etc/crontab
设置个人任务调度。执行crontab -e命令
接着输入任务到调度文件
如:*/1 * * * * ls -l /etc/ > /tmp/to.txt
意思是所每个小时的每分钟执行ls -l /etc/ > /tmp/to.txt命令
ls -l /etc/的意思是在终端打印/etc目录下的内容
>表示重定向,注意这里是覆盖写,to.txt文件如果不存在会直接自动创建一个
*/1表示每隔1min执行一次
第二个*表示0-23h的每个小时都执行
第三个*表示1-31的每一天
第四个*表示1-12的每个月
第五个*表示0-7的每一天
步骤
登录root,输入crontab -e命令
回车,进入以下界面输入*/1 * * * * ls -l /etc/ > /tmp/to.txt,要注意指令里面的各种空格
esc键后:wq回到会话界面,会显示crontab: installing new crontab
cd到/tmp目录下查看to.txt是否已经生成,如下图所示,已经生成
也可以用ll查看to.txt是否已经生成,如下图所示
查看to.txt文件的内容,可以用cat to.txt也可以用more to.txt查看文件内容
可见显示的是/etc目录下的文件
如果将to.txt文件删掉,一分钟后会自动生成to.txt文件
参数细节说明
5个占位符说明
第一个* 一小时中的第几分钟 0-59
第二个* 一天中的第几小时 0-23
第三个* 一个月中的第几天 1-31
第四个* 一年中的第几个月 1-12
第五个* 一周中的星期几 0-7(0和7都代表星期日)
特殊符号说明 */1 * * * * 指令
* 代表任何时间。比如第一个* 代表一小时中每分钟都执行一次的意思
, 代表不连续的时间。比如0 8,12,16 * * *命令 ,就代表每天的8点0分,12点0分,16点0分都执行一次命令
- 代表连续的时间范围。比如0 5 * * 1-6 命令,代表周一到周六的凌晨5点0分执行命令
*/*n 代表