#!/bin/bash
# fileName:mysqlFullBackup.sh
# create: 2017/05/26
# 每天的3点零1分执行该脚本(加 & 为后台执行)
# crontab -e
# 1 3 * * * /bin/bash /opt/mysql/mysqlFullBackup.sh &
#mysql安装路径
mysql_dir=/usr/local/mysql/bin
#设置用户名和密码
mysql_user=root
mysql_passwd=XXX
#备份路径
backup_base_dir=/opt/software/mysqlbak/
backup_dir=/opt/software/mysqlbak/$(date +%Y%m%d)
#存放路径
save_dir=/data/software/mysqlbak
#备份数据库(多数据库,用逗号隔开,未采用这种)
demo1_db=demo1
demo2_db=demo2
#备份文件夹
current_day=$(date +%Y%m%d)
#备份的时间
current_time=$(date +%Y%m%d-%H:%M:%S)
if [ ! -d "$backup_dir" ]; then
mkdir -p "$backup_dir"
fi
$mysql_dir/mysqldump -u$mysql_user -p$mysql_passwd $demo1_db > $backup_dir/demo1_$current_time.sql
$mysql_dir/mysqldump -u$mysql_user -p$mysql_passwd $demo2_db > $backup_dir/demo2_$current_time.sql
cd $backup_base_dir
if [ ! -d "$save_dir" ]; then
mkdir -p "$save_dir"
fi
tar -zcvf $current_day.tar.gz $current_day/
#移动文件到nfs 也可采用scp,但是需要服务器互相信任 也可用lftp
mv $current_day.tar.gz $save_dir
rm -rf $backup_base_dir
#删除10天前的备份
find $save_dir -mtime +10 -name "*.*" -exec rm -rf {} \;
bye
EOF