Skip to content

Instantly share code, notes, and snippets.

@wmydz1
Created November 13, 2017 06:24
Show Gist options
  • Save wmydz1/22111da7b6997e46732a898a11fcfa23 to your computer and use it in GitHub Desktop.
Save wmydz1/22111da7b6997e46732a898a11fcfa23 to your computer and use it in GitHub Desktop.
#!/bin/bash
#mysql 备份脚本
#保留最近10天备份
#备份目录
backupDir=/app/backup/database
#mysqlDump
mysqldump=/usr/local/bin/mysqldump
#ip
host=127.0.0.1
#用户名
username=root
password=42342342
#今天日期
today=`date +%Y%m%d`
#十天前的日期
timeTenDayAgo=`date -d -10day +%Y%m%d`
#要备份的数据库数组
databases=(blog chinese_medicine)
# echo $databaseCount
for database in ${databases[@]}
do
echo '开始备份'$database
$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
done
#加入定时任务:
#crontab -e
#定时每天 4 点 0 分执行脚本
# 0 4 * * * /root/backups/mysql-bakcup.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment