实操篇 crond任务调度

定时任务调度

1、原理图

clipboard


2、概述

任务调度:是指系统在某个时间执行的特定的命令或者程序

任务调度分类:

1)系统工作,某些重要的工作必须周而复始的执行,如病毒扫描

2)个别用户工作:个别用户可能希望执行某些程序,比如说mysql数据库的备份


3、基本语法

crontab 【选项】

-e 编辑 crontab定时任务

-l 查询crontab定时任务

-r 删除当前用户所有的crontab定时任务


4、快速入门案例

1)任务要求

设置任务调度文件 : /etc/crontab

设置个人任务调度:执行 crontab -e 命令

输入任务到调度文件:

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

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


2)步骤

①、cron -e

②、输入 */1 * * * * ls -l /etc >> /tmp/to.txt

③、保存退出

④、在每一分钟都会自动调用 ls -l /etc >> /tmp/to.txt

查看 to.txt 文件:

clipboard


3)参数的细节说明

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

五个占位符的说明:

image

特殊符号的说明

image


5、任务调度的几个案例

【案例1】每个1分钟,就将当前的日期信息,追加到 /temp/mydate文件中

1) 先编写一个文件 mytask1.sh

date >> /temp/mydate

2)给mytask1这个文件可执行权限

chmod 744 mytask1.sh

3)crontab -e

4)*/1 * * * * /home/mytask1.sh

5)成功


【案例2】每隔一分钟,将当前日期和日历都追加到 /home/mycal文件中

1) 先编写一个文件 mytask2.sh

date >> /temp/mydate

calander >> /temp/mydate

2)给mytask2这个文件可执行权限

chmod 744 mytask2.sh

3)crontab -e

4)*/1 * * * * /home/mytask2.sh

5)成功


【案例3】每天凌晨2点钟将mysql数据库testdb,备份到文件中 mydb.bak

1) 先编写一个文件 mytask3.sh

/usr/local/mysql/bin/mysqldump -u root -proot testdb > /tmp/mydb.bak

2)给mytask3这个文件可执行权限

chmod 744 mytask3.sh

3)crontab -e

4)0 2 * * * /home/mytask1.3h

5)成功


6、crond相关指令

1)crontab -r : 终止所有任务调度

2)crontab -l :列出当前所有的任务调度

3)service crond restart : 重启任务调度

原文地址:https://www.cnblogs.com/houchen/p/14824542.html