Linux笔记(三)—— crond 任务调度

本文深入解析CronTab在任务调度中的应用,包括基本语法、特殊符号含义及实例演示,帮助读者掌握如何设定定时任务,确保系统或用户程序按时执行。

任务调度

原理示意图:
在这里插入图片描述
crontab 进行定时任务的设置。比如:写了一个爬虫需要每天早上八点执行,就可以用到Crontab;安装的Tomcat服务器需要每天凌晨重启一次,也可以使用到Crontab。总之,几乎所有的定时任务,我们都可以通过Crontab这个工具来完成。但如果/etc/crontab 文件权限设置不正确,crontab不会自动执行任务。

概述

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

  1. 系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等。
  2. 个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。
基本语法

crontab 【选项】

常用选项:

  • -e 编辑crontab定时任务
  • -l 查询crontab任务
  • -r 删除当前用户所有的crontab任务
快速入门

设置任务调度文件: /etc/crontab
设置个人任务调度。执行crontab -e 命令。
接着输入任务到调度文件
如:*/1 * * * * ls -l /etc/ > /tmp/to.txt 命令
意思说每小时的每分钟执行 ls -l /etc/ > /tmp/to.txt 命令

参数细节说明:5个占位符说明

项目含义范围
第一个“*”一个小时当中的第几分钟0-59
第二个“*”一天当中的第几个小时0-23
第三个“*”一个月当中的第几天1-31
第四个“*”一年当中的第几月1-12
第五个“*”一周当中的星期几0-7(0和7都代表星期日)

特殊符号的说明:

特殊符号含义
*代表任何时间。比如第一个*代表一小时每分钟都执行一次的意思
,代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分、12点0分、16点0分都执行一次命令
-代表连续的时间范围。比如“0 5 * * 1-6 命令”,代表在周一到周六的凌晨5点0分执行命令
*/n代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每个10分钟就执行一遍命令

运行结果:
在这里插入图片描述

案例

  1. 每隔一分钟,就将当前的日期信息,追加到/tmp/mydate 文件中。
    在这里插入图片描述
#mystask.sh文件内容:
date >> /tmp/mydate

#修改mytask.sh文件,赋予其可执行权限:
chmod 744 mystask.sh

crontab -e

编写文件内容如下图:
在这里插入图片描述
在这里插入图片描述

  1. 每天凌晨2:00将mysql数据库testdb,备份到文件中。
  • 先写一个文件 /home/mytask2.sh
    文件里面写:
./usr/local/mysql/bin/mysqldump -u root -proot testdb > /tmp/mydb.bak
  • 给mytask2.sh文件一个可以执行的权限
chmod 744 /home/mytask2.sh
  • crontab -e
  • 在文件中添加以下命令:
0 2 * * * * /home/mytask2.sh
  • 成功,可以查看备份文件是否生成
其他任务调度命令
  1. 列出当前有哪些任务调度
    在这里插入图片描述
  2. 重启等服务,centos7环境
#启动
/bin/systemctl start crond.service
 
#重启
/bin/systemctl restart crond.service
 
#关闭
/bin/systemctl stop crond.service
  1. 查看crontab状态:
service crond status
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值