crontab 任务调度
crontab 进行定时任务的设置
概述
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
1.系统工作:有些重要的工作必须周而复始地执行,如病毒扫描等 。
2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。
基本语法:crontab [选项]
快速入门
设置任务调度文件:/etc/crontab
设置个人任务调度,执行crontab –e命令,接着输入任务到调度文件
如:*/1 * * * * ls –l /etc/ >> /tmp/to.txt
意思说每小时的每分钟执行ls –l /etc/ >> /tmp/to.txt命令
* 表示占位符
五个占位符的说明:
crontab -e 回车(写入以下内容)
*/1 * * * * ls -l /etc >> /tmp/to.txt
这个指令的意思是:每一分钟执行一次 ls -l /etc >> /tmp/to.txt 指令
特殊符号的说明:
特定时间执行任务案例:
应用实例
案例1:每隔1分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
步骤:
1. 编写文件 mytask1.sh
mytask1中的内容:date >> /tmp/mydate
2. 给mytask1.sh一个可以执行的权限
chmod 744 mytask1.sh
3. crontab -e 回车(写入下一步中内容)
4. */1 * * * * /home/mytask1.sh
5. 成功
案例2:每隔1分钟,将当前日期和日历都追加到 /home/mycal 文件中
步骤:
1. 编写文件 mytask2.sh
mytask2中的内容:date >> /tmp/mycalcal >> /tmp/mycal
2. 给mytask2.sh一个可以执行的权限
chmod 744 mytask2.sh
3. crontab -e 回车(写入下一步中内容)
4. */1 * * * * /home/mytask2.sh
5. 成功
案例3: 每天凌晨2:00 将mysql数据库testdb,备份到文件中
步骤:
1. 编写文件 mytask3.sh
mytask3中的内容:
/usr/local/mysql/bin/mysqldump -u 用户 -p密码 > /tmp/mydb.bak
2. 给mytask3.sh一个可以执行的权限
chmod 744 mytask3.sh
3. crontab -e 回车(写入下一步中内容)
4. 0 2 * * * /home/mytask3.sh
5. 成功
crond服务
crond是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
crontab 相关指令:
crond的概念和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语chronos(χρόνος),原意是时间。而crond正是它的守护进程。
1.crontab -e:编写crontab定时任务
2. crontab –r:终止任务调度。
3. crontab –l:列出当前有哪些任务调度
4. service crontab restart: 重启任务调度