#RePost #Script #DevOps MySQL 数据库 Shell 备份脚本 https://www.v2ex.com/t/1002709 玩具就要用玩具的方案(手动斜眼): 30 2 * * * /data/backup/database/mysql_backup.sh
#mysql 备份 XXX 数据库脚本
#保留最近 10 天备份
#备份目录
backupDir=/data/backup/database
#mysqlDump
mysqldump=mysqldump
#ip
host=***
#用户名
username=***
#密码
password=***
#今天日期
today=`date +%Y%m%d`
#十 backupDir=天前的日期
timeTenDayAgo=`date -d -10day +%Y%m%d`
#备份的数据库
database=***

#如果文件夹不存在则创建
if [ ! -d $backupDir ];
then
mkdir -p $backupDir;
fi

echo '开始备份'$database
docker exec mysql $mysqldump -h$host -u$username -p$password $database | gzip > $backupDir/$database-$today.sql.gz
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
 
 
Back to Top
OKHK