Shell编程中MySQL分库分表备份脚本问题

©   Linux    /    2017-08-08


现在的企业越来越关注编程人员的工作效率和成本,而shell实战中,MySQL的分库分表显得尤为重要,那么究竟该如何操作呢,今天Linux运维小编简单的分享一下干货内容,希望可以帮助大家。



  [root@db02scripts]#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“showdatabases;”|egrep-vi“Data|_schema|mysql”)”


  fordbnamein$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


  3directories,9files


  Shell-MySQL分库分表备份脚本


  [root@db02scripts]#catmysql_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“showdatabases;”|egrep-vi“Data|_schema|mysql”)”


  fordbnamein$DATEBASE


  do


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


  fortnamein$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@db02scripts]#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


  9directories,18files



有任何关于shell编程问题可以随时访问我们的网站,或者在线提问。


  


(0)

分享至