Shell脚本备份Mysql数据库
By skyshappiness Posted 2017-01-04 21:55:31 In

#!/bin/bash

#数据库参数

mysql_host='127.0.0.1';

mysql_port=3306;

mysql_account='';

mysql_pass='';

#sql备份目录

root_dir='/home/data/database_backup';

back_dir='/home/data/database_backup/databases';

data_dir='databases';

store_dir='databases';

if [ ! -d $back_dir ]; then

    mkdir -p $back_dir;

fi

#备份数据库数组

db_arr=$(echo "show databases;" | mysql -u$mysql_account -p$mysql_pass -h$mysql_host);

#当前日期

date=$(date -d '+0 days' +%Y%m%d);

#zip打包密码

zip_pass='txh1314520';

zip_name='database_back_'$date'.zip';

#进入备份目录

cd $back_dir;

for db_name in ${db_arr}

do

    sql_file=$db_name-$date".sql";

    mysqldump -u$mysql_account -p$mysql_pass -h$mysql_host --databases $db_name > $sql_file;

done

#打包所有sql文件

tar -zcPpf $root_dir/$zip_name $root_dir/$data_dir;

#打包成功删除sql文件

if [ $? == 0 ]; then

    rm -rf $root_dir/$data_dir;

fi

友情链接
联系方式
  • 邮箱 / E-mail:skyshappiness@gmail.com