您的位置:首页 > 数据库 > MySQL

MySQL简单备份脚本

2018-01-27 11:17 363 查看
mkdir /backup
mkdir /backup/backupset
mkdir /backup/script
# 创建备份目录,存放脚本和备份集

# 这是一个使用mysqldump的简单备份脚本
# 使用该命令mysqldump会锁表
# 如果数据库有较大容量的表时不建议使用该命令备份库
# 建议使用Xtrabackup命令进行备份
vi /backup/script/backup.sh
#!/bin/sh
. ~/.bash_profile
MYUSER=root
MYPASS=vincent
DATABASES="mysql test"
LogFile=/backup/script/log_backup.log
SOCKET=/usr/local/mariadb/run/mysql.sock
MYCMD="/usr/local/mariadb/bin/mysql -u$MYUSER -p$MYPASS -S$SOCKET"
MYDUMP="/usr/local/mariadb/bin/mysqldump -u$MYUSER -p$MYPASS --single-transaction --flush-logs -S$SOCKET"
echo -e ''$_{1..75}'\b#'>>$LogFile
echo -e ''$_{1..75}'\b#'>>$LogFile
echo -e "\n$(date +%F' '%T) [Info] START BACKUP DATABASE\n">>$LogFile
for database in ${DATABASES}
do
echo -e "$(date +%F' '%T) [Info] START BACKUP DATABASE $database">>$LogFile
$MYDUMP $database|gzip >/backup/backupset/${database}_$(date +%F_%H-%M-%S).sql.gz
echo -e "$(date +%F' '%T) [Info] END   BACKUP DATABASE $database\n">>$LogFile
find /backup/backupset -name "$database*" -mtime +3 -exec rm -f {} \;
done
# 脚本如上

chmod +x /backup/script/backup.sh
# 添加可执行权限

crontab -l
#MariDB backup
0 0 * * * /backup/script/backup.sh
# 添加自动任务
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: