1. crond
任务调度: 是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
1.系统工作: 有些重要的工作必须周而复始地执行。 如病毒扫描等
2.个别用户工作: 个别用户可能希望执行某些程序, 比如对 mysql 数据库的备份。
参数:
- crontab – e
- */ 1 * * * * ls -l /etc >> /tmp/to.txt #下面有参数含义的说明
- 当保存退出后就程序。
- 在每一分钟都会自动的调用 ls -l /etc >> /tmp/to.txt
当任务复杂的时候就编写shell脚本,让crond定时执行shell脚本即可。
crond 相关指令:
1) conrtab -r: 终止任务调度。
2) crontab -l: 列出当前有那些任务调度
3) service crond restart [重启任务调度]
-
案例 1: 每隔 1 分钟, 就将当前的日期信息, 追加到 /tmp/mydate 文件中
- 先编写一个文件 /home/mytask1.sh
date >> /tmp/mydate - 给 mytask1.sh 一个可以执行权限
chmod 744 /home/mytask1.sh - crontab -e
- */1 * * * * /home/mytask1.sh
- 成功
- 先编写一个文件 /home/mytask1.sh
-
案例 2: 每隔 1 分钟, 将当前日期和日历都追加到 /home/mycal 文件
中- 先编写一个文件 /home/mytask2.sh
date >> /tmp/mycal
cal >> /tmp/mycal - 给 mytask1.sh 一个可以执行权限
chmod 744 /home/mytask2.sh - crontab -e
- */1 * * * * /home/mytask2.sh
- 成功
- 先编写一个文件 /home/mytask2.sh
-
例 3: 每天凌晨 2:00 将 mysql 数据库 testdb , 备份到文件中mydb.bak。
- 先编写一个文件 /home/mytask3.sh
/usr/local/mysql/bin/mysqldump -u root -proot testdb > /tmp/mydb.bak - 给 mytask3.sh 一个可以执行权限
chmod 744 /home/mytask3.sh - crontab -e
- 0 2 * * * /home/mytask3.sh
- 成功
- 先编写一个文件 /home/mytask3.sh