Shell脚本习题:MySQL分库分表备份

脚本详细内容

[root@db02 scripts]# cat /server/scripts/Store_backup.sh

  #!/bin/sh

  MYUSER=root

  MYPASS=xuliangwei

  SOCKET=/data/3306/mysql.sock

  MYLOGIN=”mysql -u$MYUSER -p$MYPASS -S $SOCKET”

  MYDUMP=”mysqldump -u$MYUSER -p$MYPASS -S$SOCKET -B”

  DATABASE=”$($MYLOGIN -e “show databases;”|egrep -vi “Data|_schema|mysql”)”

  for dbname in $DATABASE

  do

  MYDIR=/server/backup/$dbname

  [ ! -d $MYDIR ] && mkdir -p $MYDIR

  $MYDUMP $dbname|gzip >$MYDIR/${dbname}_$(date +%F).sql.gz

  done

执行后的结果

  [root@db02 /]# tree /server/backup/

  /server/backup/

  ├── oldboy26

  │ ├──oldboy26_2015-12-29.sql.gz

  │ ├──oldboy26_2015-12-30.sql.gz

  │ └──oldboy26_2015-12-31.sql.gz

  ├── oldboy_xuliangwei26

  │ ├──oldboy_xuliangwei26_2015-12-29.sql.gz

  │ ├──oldboy_xuliangwei26_2015-12-30.sql.gz

  │ └──oldboy_xuliangwei26_2015-12-31.sql.gz

  └── xuliangwei26

  ├──xuliangwei26_2015-12-29.sql.gz

  ├──xuliangwei26_2015-12-30.sql.gz

  └──

  xuliangwei26_2015-12-31.sql.gz

  3 directories, 9 files

脚本详细内容

  [root@db02 scripts]# cat mysql_table.sh #

  #!/bin/sh

  USER=root

  PASSWD=xuliangwei

  SOCKET=/data/3306/mysql.sock

  MYLOGIN=”mysql -u$USER -p$PASSWD -S$SOCKET”

  MYDUMP=”mysqldump -u$USER -p$PASSWD -S$SOCKET”

  DATEBASE=”$($MYLOGIN -e “show databases;”|egrep -vi “Data|_schema|mysql”)”

  for dbname in $DATEBASE

  do

  TABLE=”$($MYLOGIN -e “use $dbname;show tables;”|sed ‘1d’)”

  for tname in $TABLE

  do

  MYDIR=/server/backup/$dbname/${dbname}_$(date +%F)

  [ ! -d $MYDIR ] && mkdir -p $MYDIR

  $MYDUMP $dbname $tname |gzip >$MYDIR/${dbname}_${tname}_$(date +%F).sql.gz

  done

  done

查看执行后的结果

  [root@db02 scripts]# tree /server/backup/

  /server/backup/

  ├── oldboy26

  │ ├──oldboy26_2015-12-30

  │ │├──oldboy26_oldboy_test_2015-12-30.sql.gz

  │ │└──oldboy26_oldboy_test2_2015-12-30.sql.gz

  │ └──oldboy26_2015-12-31

  │ ├── oldboy26_oldboy_test_2015-12-31.sql.gz

  │ └── oldboy26_oldboy_test2_2015-12-31.sql.gz

  ├── oldboy_xuliangwei26

  │ ├──oldboy_xuliangwei26_2015-12-30

  │ │├──oldboy_xuliangwei26_cloudstack_2015-12-30.sql.gz

  │ │├──oldboy_xuliangwei26_dashborad_2015-12-30.sql.gz

  │ │└── oldboy_xuliangwei26_student_2015-12-30.sql.gz

  │ └──oldboy_xuliangwei26_2015-12-31

  │ ├──oldboy_xuliangwei26_cloudstack_2015-12-31.sql.gz

  │ ├──oldboy_xuliangwei26_dashborad_2015-12-31.sql.gz

  │ └──oldboy_xuliangwei26_student_2015-12-31.sql.gz

  └── xuliangwei26

  ├──xuliangwei26_2015-12-30

  │├──xuliangwei26_openstack_2015-12-30.sql.gz

  │├──xuliangwei26_saltstack_2015-12-30.sql.gz

  │├──xuliangwei26_server_2015-12-30.sql.gz

  │└──xuliangwei26_zabbix_2015-12-30.sql.gz

  └──xuliangwei26_2015-12-31

  ├──xuliangwei26_openstack_2015-12-31.sql.gz

  ├──xuliangwei26_saltstack_2015-12-31.sql.gz

  ├──xuliangwei26_server_2015-12-31.sql.gz

  └──xuliangwei26_zabbix_2015-12-31.sql.gz

  9 directories, 18 files

当前文章:Shell脚本习题:MySQL分库分表备份
文章URL:http://www.shufengxianlan.com/qtweb/news20/441270.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联