RHCE--定时执行任务

1、 crontab 介绍:
        Crontab 是一个在 Unix Linux 操作系统上用于定时执行任务的工具。
        它允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。
        Crontab 是 cron table 的缩写, cron 指的是 Unix 系统中的一个后台进程,它用于执行预定的任务。
2 crontab 命令工作流程
        crontab 命令通常用于在 Linux 系统中设置定期执行的任务,并将这些任务存储在 crontab 文件中。
        为了使用 crontab 命令,系统需要依赖 crond 服务的支持。通常情况下,在操作系统安装时,
        crond服务会被默认安装并自动启动。 crond 进程会每分钟定期检查 crontab 文件中的任务列表,以确定是否有需要执行的任务,如果有,它会自动执行这些任务。当用户使用crontab 命令新建任务计划之后,该项 jobs 就会被 /var/spool/cron/ 目录下,
        而且以用户账号来创建一个文件,每一项任务计划为一行。
        crond 检测的时间周期是 分钟 , 每分钟会读取一次 /etc/crontab ,以及 /var/spool/cron 里面的记录并执行。
        crond 执行的每一项任务计划,都会被记录到 /var/log/cron 这个日志文件。
        两个对象:
                后台服务
crond === 》# 读取 配置文件 crontab 文件
                前台命令
crontab === 》# 结果 配置文件 crontab 文 件
        通过:
ps -ef |grep crond #  验证是否后台服务启动
3 Crontab 命令语法
crontab [-u user] file crontab [-u user] [ -e | -l | -r ]
1/4 -u user 用来设定某个用户的 crontab 服务。
        -file: file 是命令文件的名字 , 表示将 file 做为 crontab 的任务列表文件并载入crontab。
如果在命令行中没有指定这个文件, crontab 命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab
        -e:编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
        -l:显示某个用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
        -r:从 /var/spool/cron 目录中删除某个用户的 crontab 文件,如果不指定用户,则默认删除当前用户的crontab 文件。
        -i:在删除用户的 crontab 文件时给确认提示。
以下是可以用于指定时间的特殊符号:
        "*" 代表所有的取值范围内的数字,任何时刻都接受。特别要注意!
        "*/n" 表示每 n 个单位间隔
        "-" 时间范围
        "," 分隔的时段
4 Crontab 计划任务的格式
        格式:分 时 天 月 周 用户 任务
        第1 列分钟 0 59
        第2 列小时 0 23 0 表示子夜)
        第3 列日 1 31
        第4 列月 1 12
        第5 列星期 0 7 0 7 表示星期天)
        第6 列要运行的命令
​​​​​​
5 、操作案例:
crontab -e # 编辑crontab 文件内容
# 每天的凌晨 2 点执行重启阿帕奇服务
        00 02 * * * service httpd restart
# 查看当前有几条计划任务
        crontab -l
# 每个月的 15 号凌晨三点半重启服务器
        30 03 15 * * reboot
# 每周日的凌晨一点半
        30 01 * * 7
# 每天的凌晨十二点
        00 00 * * *
        3 * * * * 每小时的第 3 分钟
        3 * * * 7 每个周日的每小时的第 3 分钟
        3 12 * * * 每天的 12 3
        3 12 * * 5 每周五的 12 3
        3 12 6 * * 每月 6 号的 12 3
        3 12 6 7 * 每年 7 6 号的 12 3分        
        ,:离散时间点取值
        10,40 * * * * 每小时的第 10 分钟和第 40 分钟
        10,40 * * * 2,5 每周二和周五的每小时的第 10 分钟和第 40 分钟
        -:连续时间点
        10 02 * * * 1-5 每周一到五的 2 10
        /:对应取值范围每多久一次
        */3 * * * * 每 3 分钟
其他案例:
# 创建脚本文件
mkdir /tmp/backup
vim mysql_backup.sh
#!/bin/bash
mysqldump -uroot -p123456 -B mysql > /tmp/backup/mysql.sql
crontab -e
# 每一分钟执行备份数据库脚本
3/4 */1 * * * * sh /root/mysql_backup.sh
# 查看日志
tail -f /var/log/cron
# 进入目录 , 库以及备份上了
cd /tmp/backup/ls
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值