企業Shell實戰 MySQL分庫分表備份指令碼

2021-07-11 20:56:44 字數 3434 閱讀 2546

企業

shell

實戰-mysql分庫分表備份

今天是2023年的最後一天,大家都開心的跨年,而我還在苦逼的呵呵—省略

此處內容來自老男孩教育oldboy以及老男孩26期王續精彩分享整理而來  為表示感謝,特整理此篇博文分享給大家!

[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/$_$(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

shell-mysql

分庫分表備份指令碼

[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/$_$(date +%f)

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

$mydump $dbname $tname |gzip >$mydir/$_$_$(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分庫分表備份指令碼

企業 shell 實戰 mysql分庫分表備份 今天是2015年的最後一天,大家都開心的跨年,而我還在苦逼的呵呵 省略 root db02 scripts cat server scripts store backup.sh 指令碼詳細內容 bin sh myuser root mypass xul...

企業Shell實戰 MySQL分庫分表備份指令碼

企業 shell 實戰 mysql分庫分表備份 今天是2015年的最後一天,大家都開心的跨年,而我還在苦逼的呵呵 省略 root db02 scripts cat server scripts store backup.sh 指令碼詳細內容 bin sh myuser root mypass xul...

Hive結合shell指令碼企業實戰用法

目錄1 linux設定定時任務編輯定時任務 root master crontab e 第1個 表示分鐘 第2個 表示小時 第3個 表示星期幾 第4個 表示幾號 第5個 表示月份 舉例 每分鐘執行一次hql.sh指令碼,將其日誌存放到1.log目錄中 1 usr local soft scripts...