文章目录



crond 任务调度

  • crontab 进行 定时任务的设置

1. 概述


  • 任务调度:是指系统在某个时间执行的特定的命令或程序。
  • 任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
  • 个别用户工作:个别用户可能希望执行某些程序,比如对 mysql 数据库的备份。
  • 示意图
    Linux之crond任务调度基本使用_crontab

2. 基本语法

crontab [选项]
  • 常用选项
    Linux之crond任务调度基本使用_crond_02

3. 快速入门


  • 设置任务调度文件:​​/etc/crontab​
  • 设置个人任务调度。执行 ​​crontab -e​​ 命令。
  • 接着输入任务到调度文件
  • 如:

*/1 * * * * ls –l /etc/ > /tmp/to.txt

意思说每小时的每分钟执行 ​​ls –l /etc/ > /tmp/to.txt​​ 命令

参数细节说明


  • 5 个占位符的说明
    Linux之crond任务调度基本使用_crond任务调度基本使用_03
  • 特殊符号的说明
    Linux之crond任务调度基本使用_crontab_04
  • 特殊时间执行案例
    Linux之crond任务调度基本使用_crond_05

4. 应用实例

  1. 案例 1:每隔 1 分钟,就将当前的​日期信息​,追加到 ​​/tmp/mydate​​ 文件中
*/1 * * * * date >> /tmp/mydate

  1. 案例 2:每隔 1 分钟, 将当前​日期​和​日历​都追加到 ​​/home/mycal​​ 文件中
    步骤:
    (1) ​​vim /home/my.sh​​ 写入内容 ​​date >> /home/mycal​​ 和 ​​cal >> /home/mycal​​ (2) 给 ​​my.sh​​ 增加执行权限,​​chmod u+x /home/my.sh​​ (3) ​​crontab -e​​ 增加 ​​*/1 * * * * /home/my​
  2. 案例 3: 每天凌晨 ​​2:00​​ 将 mysql 数据库 ​​testdb​​ ,备份到文件中。
    提示: 指令为​​mysqldump -u root -p 密码 数据库 > /home/db.bak​​ 步骤:
    (1) ​​crontab -e​​ (2)

0 2 * * * mysqldump -uroot -proot testdb > /home/db.bak

6. crond 相关指令


  • conrtab –r:终止任务调度。
  • crontab –l:列出当前有那些任务调度
  • service crond restart [重启任务调度]