crond任务调度
概述
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
个别用户工作:个别用户可能希望执行某些程序,比如对
mysql
数据库的备份。
crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,最重要是可以在无需人工干预的情况下运行命令。
示意图:
查看crond服务的状态
systemctl status crond.service
基本语法
crontab [
选项
]
常用选项
crond
相关指令
conrtab
–
r
:终止任务调度。
crontab
–
l
:列出当前有那些任务调度
service crond restart
[
重启任务调度
]
快速入门 crontab
设置任务调度文件:
/etc/crontab
设置个人任务调度。执行
crontab –e
命令。
接着输入任务到调度文件
如:
*/1 * * * * ls –l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行
ls –l /etc/ > /tmp/to.txt
命令
crontab 示意图
cat /etc/crontab 查看crontab语法
特殊符号的说明
特殊时间执行案例
应用实例
案例
1
:每隔
1
分钟,就将当前的日期信息,
追加到
/tmp/mydate
文件中 */1 * * * * date >> /tmp/mydate
案例
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.sh
案例
3:
每天凌晨
2:00
将
mysql
数据库
testdb
,备份到文件中。
提示
:
指令为mysqldump -u root -p 密码 数据库
> /home/db.bak
步骤
(1) crontab -e
步骤
(2) 0 2 * * * mysqldump -u root -proot testdb > /home/db.bak