如何利用shell实现mysql自动备份

2017-12-20 14:45:02 8411

vim backup_mysql.sh
#!/bin/bash

databases=(db1 db2 db3)      # 要备份的数据库名,多个数据库用空格分开

path='/home/mysqlbakup/'  # 备份文件要保存的目录

if [ ! -d "$path" ]; then

      mkdir -p "$path"

fi

for db in ${databases[*]}              # 循环databases数组

      do

           # 备份数据库生成SQL文件

           /bin/nice -n 19 /usr/bin/mysqldump -uroot -ppassword --database $db > $path$db-$(date +%Y%m%d).sql

           # 将生成的SQL文件压缩

           /bin/nice -n 19 tar zcvf $path$db-$(date +%Y%m%d).sql.tar.gz $path$db-$(date +%Y%m%d).sql

           # 删除7天之前的备份数据

           find $path -mtime +7 -name "*.sql.tar.gz" -exec rm -rf {} \;

      done

# 删除生成的SQL文件

rm -rf $basepath/*.sql


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: