shell实现mysql数据库的备份

2016-01-15 16:03:42 6961


新建backup.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

:

1./bin/nice -n 19 执行命令的级别

2.需要填写mysqlroot密码

3.crontab -e 进行编辑

    crontab -l 显示当前crontab中的内容

    例如3分钟执行一次

    

    

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

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

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

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