亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

shell 備份數據庫、代碼上線的腳本

2020-07-26 23:25:51
字體:
來源:轉載
供稿:網友

Shell 腳本

Shell 腳本(shell script),是一種為 shell 編寫的腳本程序。 業界所說的 shell 通常都是指 shell 腳本,但讀者朋友要知道,shell 和 shell script 是兩個不同的概念。

備份MySQL數據庫

場景:

一臺MySQL服務器,跑著5個數據庫,在沒有做主從的情況下,需要對這5個庫進行備份

需求:

1)每天備份一次,需要備份所有的庫
2)把備份數據存放到/data/backup/下
3)備份文件名稱格式示例:dbname-2019-11-23.sql
4)需要對1天以前的所有sql文件壓縮,格式為gzip
5)本地數據保留1周
6)需要把備份的數據同步到遠程備份中心,假如本機可以直接通過rsync命令同步,同步目標地址為192.168.234.125,數據存放目錄:/data/mysqlbak/
7)遠程備份數據要求保留1個月

腳本:

#!/bin/bashmysqldump="/usr/local/mysql/bin/mysqldump"bakdir="/data/backup"bakuser="backup"passwd="backup123"d1=`date +%F`d2=`date +%d`#將后面所有的輸出都寫入到日志exec &> tmp/bak.logecho "mysql bakup begin at `date`"#循環遍歷數據庫并導出for db in db1 db2 db3 db4 db5do $mysqldump -u$bakuser -p$passwd $db > $bakdir/$db-$d1.sqldone#壓縮一天前的備份文件find $bakdir -type f -name "*.sql" -mtime +1 |xargs gzip#刪除一周前的被封文件find $bakdir -type f -mtime +7 |xargs rm#把當天的備份文件同步到遠程機器for db in db1 db2 db3 db4 db5do rsync -a $bakdir/$db-$d1.sql rsuser@192.168.234.125::/data/mysqlbak/$db-$d2.sqldoneecho "mysql bakup end at `date`"

補充:

1.遠程機器存放的備份文件以庫名-日期的具體日命名,就實現了自動保留30天(比如15號備份的文件db1-15.sql下個月1號的備份文件將會覆蓋該文件)
2.當數據庫較大時,使用mysqldump備份速度會非常慢,這時該使用xtarbackup工具備份或mysql主從復制

代碼上線發布腳本

生產環境中一個業務通常跑在多臺服務器上,也就是所謂的負載均衡,那么這些機器上運行的代碼必須要保持一致,如何實現一致呢?有兩種方案

1.通過共享的方式

如果機器量不多,可以使用NFS實現,當然如果要求穩定性最好是使用專業的存儲設備(NAS、SAN等),這種方式架構如下:

在這里插入圖片描述

這種架構的優點是方便維護,比如有代碼更新時,只需要更新一臺機器上的代碼,則其他機器上都會跟著更新。缺點是,機器量大了的話,共享存儲會成為瓶頸,甚至由于對文件的爭搶造成性能問題。還有一點,共享存儲這里是一個很大的單點隱患,不出故障一切都OK,一旦出了故障,則整個業務都掛掉,影響非常大。

2.分布式

既然通過共享的方式有不少缺點,那么就選擇另外一種方式,即把代碼存到每一臺WEB服務器本地磁盤上,如下圖所示:

在這里插入圖片描述

這樣做的好處是,沒有存儲性能問題,沒有資源爭搶沖突,也沒有單點故障的隱患。缺點是,每次代碼更新需要對所有web機器進行更新,比較繁瑣。雖然步驟繁瑣,但大多數企業都會選擇該方式。

通過shell腳本+expect批量發布代碼到多臺web服務器:

前提:

1)提供一個存放所有web服務器的IP列表文件ip.list
2)假設所有web服務器上有一個普通用戶user,密碼為user123,該用戶為同步代碼用戶
3)每次代碼上線會提供一個文件列表file.list(即要更改的文件的列表)

腳本:

#/bin/bash#提醒用戶,是否更新了要上線的代碼列表文件read -p "你是否已經更新了文件列表./file.list?確認請輸入y或者Y,否則按其他任意鍵退出腳本。" c#如果直接按回車,也會退出腳本if [ -z "$c" ]then exit 1fiif [ $c == "y" -o $c == "Y" ]then echo "腳本將在2秒后,繼續執行。" #每秒輸出一個.共輸出兩個. for i in 1 2 do echo -n "." sleep 1 done echoelse exit 1fi#判斷有無./rsync.exp文件[ -f ./rsync.exp ] && rm -f ./rsync.exp#定義rsync.expcat >./rsync.exp <<EOF#!/usr/bin/expectset passwd "user123"set host [lindex /$argv 0]set file [lindex /$argv 1]spawn rsync -avR --files-from=/$file / user@/$host:/expect { "yes/no" {send "yes/r"} "password:" {send /$passwd/r}}expect eofEOFchmod a+x ./rsync.exp#定義檢測文件是否存在的函數if_file_exist(){ if [ ! -f $1 ] then echo "文件$1不存在,請檢查。" exit 1}#ip.list為所有WEB機器的ip列表#file.list為要同步的文件列表if_file_exist ./ip.listif_file_exist ./file.listfor ip in `cat ./ip.list`do ./rsync.exp $ip ./file.listdone#善后處理rm -f ./rsync.exp

注意:在每臺web服務器上創建的代碼同步用戶需要有代碼所在目錄的寫入權限

總結

到此這篇關于shell 備份數據庫、代碼上線的腳本的文章就介紹到這了,更多相關shell 備份數據庫代碼上線內容請搜索武林網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久av| 欧美老女人在线视频| 少妇av一区二区三区| 91中文字幕在线观看| 亚洲乱码av中文一区二区| 亚洲视频自拍偷拍| 国产精品电影网站| 亚洲日本欧美中文幕| 91久久综合亚洲鲁鲁五月天| 国产成人+综合亚洲+天堂| 在线日韩日本国产亚洲| 亚洲第一精品福利| 亚洲精品短视频| 欧美最猛性xxxx| 国产午夜精品一区二区三区| 一区二区亚洲精品国产| 夜夜嗨av色综合久久久综合网| 亚洲国产高清高潮精品美女| 亚洲欧美日韩综合| 97碰碰碰免费色视频| 亚洲在线观看视频网站| 高清一区二区三区四区五区| 米奇精品一区二区三区在线观看| 日韩电影大全免费观看2023年上| 亚洲乱码一区av黑人高潮| 一区二区三区精品99久久| 日韩精品免费在线视频观看| 宅男66日本亚洲欧美视频| 亚洲欧美日韩第一区| 国产精品一二三在线| 国产一区二区黄| 欧美在线观看网址综合| 久久久久久久999精品视频| 中文字幕v亚洲ⅴv天堂| 日韩女优人人人人射在线视频| 成人免费视频97| 色噜噜亚洲精品中文字幕| 久久久久国色av免费观看性色| 日韩欧美亚洲国产一区| 日本伊人精品一区二区三区介绍| 欧美成人免费在线观看| 色在人av网站天堂精品| 成人激情在线观看| 亚洲奶大毛多的老太婆| 美女黄色丝袜一区| 精品久久久久久久久久ntr影视| 久久久久久久激情视频| 亚洲一区二区精品| 国产一区二区动漫| 久久视频免费在线播放| 亚洲精品久久7777777| 精品国产一区久久久| 国产一区二区视频在线观看| 国产91亚洲精品| 97视频人免费观看| 亚洲va男人天堂| 色琪琪综合男人的天堂aⅴ视频| 亚洲国产精品网站| 成人精品一区二区三区| 欧美精品xxx| 91精品国产亚洲| 国产精品劲爆视频| 日韩免费在线播放| 成人免费在线视频网址| 97国产成人精品视频| 精品国产一区二区三区在线观看| 欧美激情在线观看| 亚洲欧洲在线看| 国模gogo一区二区大胆私拍| 国产噜噜噜噜久久久久久久久| 91欧美激情另类亚洲| 欧美孕妇孕交黑巨大网站| 国产精品成人一区| 日本不卡高字幕在线2019| 亚洲午夜精品久久久久久久久久久久| 国产国语刺激对白av不卡| 国产午夜精品美女视频明星a级| 欧美日韩亚洲一区二区三区| 日韩极品精品视频免费观看| 欧美国产一区二区三区| 最近2019中文字幕大全第二页| 国产精品极品美女粉嫩高清在线| 欧美成人在线网站| 日韩精品在线播放| 深夜福利国产精品| 色偷偷91综合久久噜噜| 国产精品免费福利| 国产91精品久久久久久久| 亚洲欧美一区二区三区在线| 成人黄色av网站| 美女国内精品自产拍在线播放| 亚洲成人av在线播放| 国产日韩视频在线观看| 亚洲精品自拍视频| 不卡av电影院| 国产国产精品人在线视| 国内精品久久久久影院优| 亚洲性线免费观看视频成熟| 欧美日韩在线观看视频| 亚洲欧洲偷拍精品| 国模视频一区二区| 欧美日韩国产一区二区| 国产丝袜一区二区三区| 92看片淫黄大片欧美看国产片| 国产视频一区在线| 国产热re99久久6国产精品| 97碰碰碰免费色视频| 韩国精品久久久999| 国产精品久久久av久久久| 成人午夜一级二级三级| 精品久久久av| 国产精品综合网站| 欧美精品videofree1080p| 欧洲成人在线视频| 国产亚洲成精品久久| 欧美亚洲国产另类| 国产香蕉一区二区三区在线视频| 色青青草原桃花久久综合| 国产精品电影在线观看| 久久久www成人免费精品| 欧美极品美女视频网站在线观看免费| 国产日韩中文字幕| 日韩av电影在线播放| 粉嫩av一区二区三区免费野| 456国产精品| 国产综合久久久久| 青青草成人在线| 国产一区二区在线免费| 国产综合在线观看视频| 欧美裸体男粗大视频在线观看| 中文字幕视频一区二区在线有码| 久久精品亚洲热| 亚洲字幕一区二区| 日韩视频一区在线| 亚洲精品v欧美精品v日韩精品| 日韩av日韩在线观看| 欧美日韩国产成人在线观看| 久久久久久久久久久成人| 久久人人爽人人| 欧美日韩国产成人高清视频| 美女精品久久久| 欧美激情欧美激情在线五月| 欧美日韩国产专区| 亚洲国产一区二区三区在线观看| 九九视频这里只有精品| 91av在线视频观看| 欧美在线视频免费播放| 91性高湖久久久久久久久_久久99| 91精品在线观看视频| 色噜噜亚洲精品中文字幕| 亚洲电影成人av99爱色| 国产精品视频久久久久| 国产在线精品一区免费香蕉| 精品久久国产精品| 91久久久在线| 欧美性猛交xxxx乱大交3| 97福利一区二区| 黑人极品videos精品欧美裸| 91在线观看免费| 亚洲电影免费观看高清完整版| 欧美日本黄视频| 国产精品91久久久久久| 欧美电影第一页| 亚洲va欧美va国产综合剧情|