mysql备份shell脚本
#!/bin/bash
#备份目录
backupDir=/usr/backup/database
#mysqldump:找到mysqldump的绝对路径,可通过命令which mysqldump查看
mysqldump=/usr/bin/mysqldump
#指定ip:因为mysql5.7及以上版本不支持password明文写法,会提示【警告 mysqldump: [Warning] Using a password on the command line interface can be insecure】所以没用了,改为调用mysql配置文件中mysqldump的配置信息来备份:--defaults-extra-file=
host=localhost
#用户名
username=用户
#密码
password=密码
#时间
today=$(date "+%Y%m%d")
#+backupDir=天前的日期q
timeTenDayAgo=`date -d -10day +%Y%m%d`
#备份的数据库
database=sunell_test
#如果文件夹不存在则创建
if [ ! -d ${backupDir} ];
then
mkdir -p ${backupDir};
fi
echo '开始备份'${database}
#echo '备份路径:'$backupDir
#echo 'mysqldump参数:'$mysqldump
#echo 'host参数:'$host
#echo 'username参数:'$username
#echo 'password参数:'$password
#echo 'today参数:'$today
#echo 'timeTenDayAgo参数:'$timeTenDayAgo
#echo 'database参数:'$database
#${mysqldump} -h${host} -u${username} -p${password} ${database} | gzip > ${backupDir}/${database}_${today}.sql.gz
${mysqldump} --defaults-extra-file=/etc/mysql/mysql.conf.d/mysqld.cnf ${database} | gzip > ${backupDir}/${database}_${today}.sql.gz
#${mysqldump} -u ${username} -p${password} ${database} > ${backupDir}/${database}_${today}.sql
#echo "${mysqldump} -u ${username} -p${password} ${database} > ${backupDir}/${database}_${today}.sql"
#echo "${mysqldump} --defaults-extra-file=/etc/mysql/mysql.conf.d/mysqld.cnf ${database} > ${backupDir}/${database}_${today}.sql"
echo "成功备份"${database}"到"${backupDir}/${database}_${today}.sql.gz
if [ ! -f "${backupDir}/${database}"_"${timeTenDayAgo}.sql.gz" ];
then
echo '10天前备份不存在,无需删除'
else
rm -f ${backupDir}/${database}_${timeTenDayAgo}.sql.gz
echo '删除10天前备份文件'${backupDir}/${database}_${timeTenDayAgo}.sql.gz
fi