mysql全量备份命令_linux下进行定时mysql数据库全量备份

mysql定时备份

需求:在每天23:30对当天的数据库进行备份。

建立定时任务

命令:crontab -e

29 23 * * * /usr/local/dba/mysql_backup.sh

编写数据库备份脚本

在每天23:30对当天的数据库进行全量备份,备份成功之后,删除上月的备份数据

#!/bin/bash

#保存备份个数,备份31天数据

number=31

#备份保存路径

backup_dir=/usr/local/dba/backup_dir

#日期

dd=`date +%Y-%m-%d-%H-%M-%S`

lastmonth=`date -d "$(date +%Y%m)01 last month" +%Y-%m`

#备份工具

tool=mysqldump

#用户名

username=root

#密码

password=****

#将要备份的数据库

database_name=wm

database_name_2=wm

#如果文件夹不存在则创建

if [ ! -d $backup_dir ];

then

mkdir -p $backup_dir;

fi

mysqldump -u wmDev -pshy wm > $backup_dir/mysql-backup-$database_name_2-$dd.sql

# 备份成功之后,删除上月备份数据

cd /usr/local/dba/backup_dir

rm -rf mysql-backup-$database_name_2-$(date -d "$(date +%Y%m)01 last month" +%Y-%m)*

#写创建备份日志

echo "create $backup_dir/$database_name-$dd.dupm and delete lastmonth backup data" >> $backup_dir/log.txt

备份当天数据并删除昨日备份

脚本如下:

#!/bin/bash

#保存备份个数,备份31天数据

number=31

#备份保存路径

backup_dir=/usr/local/dba/backup_dir

#日期

dd=`date +%Y-%m-%d-%H-%M-%S`

lastmonth=`date -d "$(date +%Y%m)01 last month" +%Y-%m`

#备份工具

tool=mysqldump

#用户名

username=root

#密码

password=****

#将要备份的数据库

database_name=wm

database_name_2=wm

#如果文件夹不存在则创建

if [ ! -d $backup_dir ];

then

mkdir -p $backup_dir;

fi

mysqldump -u wmDev -pshy wm > $backup_dir/mysql-backup-$database_name_2-$dd.sql

# 备份成功之后,删除昨日备份数据

cd /usr/local/dba/backup_dir

rm -rf mysql-backup-$database_name_2-$(date -d "yesterday" +%Y-%m-%d)*

#写创建备份日志

echo "create $backup_dir/$database_name-$dd.dupm and delete lastmonth backup data" >> $backup_dir/log.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值