shell定时crontab备份数据库mysqldump

本文介绍了一种使用Shell脚本实现MySQL数据库定时备份的方法。通过定义备份路径、时间戳、数据库连接信息等,脚本能够自动执行数据库备份,并压缩归档。此外,还介绍了如何设置crontab定时任务,确保每天凌晨1点自动执行备份。

shell定时备份mysql数据库中mysqldump文件

在这里插入图片描述

#!/bin/bash
#完成定时备份,定义路径
BACKUP=/data/backup/db
#当前时间作为文件名
DATETIME=$(date +%Y_%m_%d_%H%M%S)
#调试时间
#echo "${DATETIME}"
echo "----------开始备份------------"
echo "----------备份的路径是 $BACKUP/$DATETIME.tar.gz"

#主机
HOST=localhost
#用户名
DB_USER=root
#密码
DB_PWD=123456

#创建备份路径,如果路径存在就是有,否则就创建
[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"
#准备备份
#备份数据库名称
DATABASE=mydemo
#执行备份指令,存放在临时目录$DATETIME文件夹中
mysqldump -u${DB_USER} -p${DB_PWD} --host=$HOST $DATABASE | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz
cd $BACKUP
tar -zcvf  $DATETIME.tar.gz $DATETIME
#删除临时文件
rm -rf $DATETIME

#删除10天前备份的内容
fing $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "----------备份成功------------"

然后启动定时任务crontab -e

在这里插入图片描述
输入下面的语句,表示每天凌晨1点备份一次。
在这里插入图片描述
wq保存退出就ok了(就开始执行了)!

可以看到下面的任务已经开启了

[root@hadoop1 sbin]# crontab -l
0 1 * * * /usr/sbin/mysql_db_backup.sh

扩展内容:

crontab[选项]

-e	编辑

-l	查询

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

service crond restart 重启任务调度

如果只是简单的任务,可以不写脚本,直接在crontab中写入任务即可

crontab -e

输入如下:
*/1 * * * * ls -l /etc >> /tmp/to.txt

五个*号的意思如下:
几分,几点,几号,哪月,哪天

  • 5个占位符参数说明

    • 第一个* 一小时当中的第几分钟 0-59

    • 第二个* 一天中的第几小时 0-23

    • 第三个* 一月中的第几天 1-31

    • 第4个* 一年中的第几月 1-12

    • 第5个* 一周当中的星期几 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中
      1. 编写/home/mytask1.sh
      
      date >> /tmp/mydate
      
      2. 给mytask1.sh一个可执行权限
      3. crontab -e
      4. */1 * * * * /home/mytask1.sh 
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值