Nginx+Tomcat+Memcached-集群安裝配置操作指導(dǎo)書_第1頁(yè)
Nginx+Tomcat+Memcached-集群安裝配置操作指導(dǎo)書_第2頁(yè)
Nginx+Tomcat+Memcached-集群安裝配置操作指導(dǎo)書_第3頁(yè)
Nginx+Tomcat+Memcached-集群安裝配置操作指導(dǎo)書_第4頁(yè)
Nginx+Tomcat+Memcached-集群安裝配置操作指導(dǎo)書_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Nginx+Tomcat+Memcached+Mysql集群安裝配置操作指導(dǎo)書擬制:Prepared by楊機(jī)智 日期:Date2015-1-14審核:Reviewed by日期:Date審核:Reviewed by日期:Date批準(zhǔn):Granted by日期:Date推薦精選修訂記錄Revision record日期Date修訂版本Revision version修改描述 change Description作者Author2015-1-141.00初稿完成 楊機(jī)智推薦精選目 錄Table of Contents 1集群組網(wǎng)72Nginx安裝及配置72.1Nginx介紹72.2Nginx安裝

2、82.3Nginx啟動(dòng)、關(guān)閉、重啟93Tomcat安裝103.1Tomcat安裝步驟104Memcached安裝104.1Memcached介紹104.2Linux下Memcached安裝步驟104.3Memcached啟動(dòng)和關(guān)閉114.1Memcached狀態(tài)查看125集群配置125.1Nginx負(fù)載均衡配置125.2Tomcat的Session共享配置135.1查看集群狀態(tài)146常見問題解決方法156.1執(zhí)行patch命令時(shí)提示patch:command not found156.1.1現(xiàn)象描述156.1.2原因分析156.1.3處理方法156.2出現(xiàn)錯(cuò)誤 13: Permission d

3、enied) while connecting to upstream, client166.2.1現(xiàn)象描述166.2.2原因分析166.2.3處理方法16推薦精選表目錄 List of Tables表1 XX表 Table 1 XX3推薦精選圖目錄 List of Figures圖1 XX圖 Figure 1 XX3推薦精選Nginx+Tomcat+Memcached+Mysql集群安裝配置操作指導(dǎo)書 關(guān)鍵詞Key words:Nginx,Tomcat,Memcached,mysql,集群摘 要Abstract:本文介紹了Nginx+Tomcat+Memcached集+Mysql集群的安裝與

4、配置縮略語清單List of abbreviations:Abbreviations縮略語Full spelling 英文全名Chinese explanation 中文解釋推薦精選集群組網(wǎng)集群組網(wǎng)說明:Nginx部署在前端,作為集群的負(fù)載均衡器,配置雙網(wǎng)卡,分別連接內(nèi)外網(wǎng)。Tomcat服務(wù)器集群部署在內(nèi)網(wǎng),不與外網(wǎng)直接連接,以避免遭受外部攻擊。Tomcat服務(wù)器的session通過Memcached服務(wù)器進(jìn)行共享,保證某臺(tái)服務(wù)器掛掉以后,能夠正常的進(jìn)行故障轉(zhuǎn)移。1 Nginx安裝1.1 Nginx介紹Nginx是一款輕量級(jí)的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP

5、3)代理服務(wù)器,并在一個(gè)BSD-like 協(xié)議下發(fā)行。由俄羅斯的程序設(shè)計(jì)師Igor Sysoev所開發(fā),供俄國(guó)大型的入口網(wǎng)站及搜索引擎Rambler(俄文:)使用。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好,中國(guó)大陸使用nginx網(wǎng)站用戶有:新浪推薦精選、網(wǎng)易、騰訊等。Nginx作為負(fù)載均衡服務(wù)器:Nginx 既可以在內(nèi)部直接支持 Rails 和 PHP 程序?qū)ν膺M(jìn)行服務(wù),也可以支持作為 HTTP代理服務(wù)器對(duì)外進(jìn)行服務(wù)。Nginx采用C進(jìn)行編寫,不論是系統(tǒng)資源開銷還是CPU使用效率都比 Perlbal 要好很多。1.2 Nginx安裝由于Ngi

6、nx本身的健康檢測(cè)不是太好用,如果后端服務(wù)器宕掉的話nginx是不能把這臺(tái)realserver踢出upstream的,所以還會(huì)有請(qǐng)求轉(zhuǎn)發(fā)到后端的這臺(tái)realserver上面去,雖然nginx可以在localtion中啟用proxy_next_upstream來解決服務(wù)故障轉(zhuǎn)移,但這種方式每次還是會(huì)先把請(qǐng)求轉(zhuǎn)發(fā)給這臺(tái)服務(wù)器的,等待超時(shí)或者其他錯(cuò)誤再轉(zhuǎn)發(fā)給別的服務(wù)器,這樣就浪費(fèi)了一次轉(zhuǎn)發(fā),同時(shí)響應(yīng)的比較慢。目前比較流行的做法是借助淘寶技術(shù)團(tuán)隊(duì)開發(fā)的nginx模快補(bǔ)丁nginx_upstream_check_module來檢測(cè)后方Realserver的健康狀態(tài),該補(bǔ)丁可以動(dòng)態(tài)維護(hù)后端RealServ

7、er列表。加補(bǔ)丁的Nginx在CentOs下的安裝步驟:首先去這里下載nginx健康檢測(cè)模塊比如下的是nginx_upstream_check_module-0.3.0.tar.gz下面是nginx打上健康檢測(cè)模塊補(bǔ)丁的安裝步驟:# wget /download/nginx-1.7.9.tar.gz# tar -xzvf nginx-1.7.9.tar.gz# tar xzvf nginx_upstream_check_module-0.3.0.tar.gz# cd nginx-1.7.9# patch -p1 < /software/nginx_ upst

8、ream_check_module-0.3.0/check.patch注:假設(shè)安裝包都放在/software目錄下,check.patch補(bǔ)丁需要選擇與nginx版本對(duì)應(yīng)的版本,比如1.7以上版本的nginx,補(bǔ)丁為check_1.7.5+.patch# ./configure -add-module=/software/nginx_ upstream_check_module-0.3.0推薦精選#make# make install注:提示patch:command not found解決方法ubuntu系統(tǒng)就sudo apt-get install patchcentos/redhat就&

9、#160; yum install patch 1.3 Nginx啟動(dòng)、關(guān)閉、重啟采用源碼安裝方式,安裝成功后Nginx安裝目錄在 /usr/local/nginx目錄下啟動(dòng)命令: # cd /usr/local/nginx/sbin# ./nginx啟動(dòng)后通過添加 s參數(shù)來進(jìn)行關(guān)閉、重啟等的控制語法:nginx -s signall stop  fast shutdownl quit  graceful shutdownl reload  reloading the configuration filel reopen  reopening

10、the log files注:如果修改了nginx的配置文件,請(qǐng)用nginx s reload,這樣服務(wù)不會(huì)中斷,不會(huì)影響到客戶端訪問關(guān)閉命令: # cd/usr/local/nginx/sbin # ./nginx s stop重啟命令: # cd/usr/local/nginx/sbin # ./nginx s reload推薦精選2 JDK安裝步驟1:到oracle官網(wǎng)下載JDK安裝包jdk-6u45-linux-x64-rpm.bin步驟2:jdk-6u11-linux-i586-rpm.bin 是一個(gè)自解壓文件,不過解壓后的文件是jdk-6u11-linux-i586-rpm包 #

11、chmod +x jdk-6u11-linux-i586-rpm.bin # ./jdk-6u45-linux-x64-rpm.bin步驟3:執(zhí)行rpm命令進(jìn)行安裝 # rpm -ivh jdk-6u45-linux-amd64.rpm3 Tomcat安裝Tomcat安裝比較簡(jiǎn)單,到/download-70.cgi下載相應(yīng)的版本的包,然后解壓壓縮包即可。CentOs下的安裝步驟如下:# tar zxvf apache-tomcat-7.0.42.tar.gz / 解壓壓縮包# rm -rf apache-tomcat-7.0.42.tar.gz /

12、 刪除壓縮包# mv apache-tomcat-7.0.42 /usr/local/tomcat /移至/usr/local目錄下4 Memcached安裝4.1 Memcached介紹Memcached 是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫(kù)負(fù)載。它通過在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來減少讀取數(shù)據(jù)庫(kù)的次數(shù),從而提高動(dòng)態(tài)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)網(wǎng)站的速度。Memcached基于一個(gè)存儲(chǔ)鍵/值對(duì)的hashmap。其守護(hù)進(jìn)程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,并通過memcached協(xié)議與守護(hù)進(jìn)程通信。4.2 Memcached安裝Memcached在Cent

13、Os下的安裝步驟如下:推薦精選步驟1:下載包wget /files/memcached-1.4.22.tar.gzwget 步驟2: 安裝Libevent# tar -zxvf libevent-2.0.21-stable.tar.gz# cd libevent-2.0.21# ./configure prefix=/usr/local# make# make install步驟3: 安裝Memcached# tar -zxvf memcached-1.4.22.tar.gz#cd memcached-1.4.22# ./configu

14、re  -with-libevent=/usr/local# make# make install注:安裝完成后會(huì)把memcached放到 /usr/local/ memcached步驟4: 檢查安裝是否成功# ls -al /usr/local/memcach*成功的話,會(huì)輸出一些相關(guān)信息步驟5: 設(shè)置防火墻vi /etc/sysconfig/iptables 把下面這行加進(jìn)去-A RH-Firewall-l-INPUT -p tcp -m tcp -dport 11211 -j&#

15、160;ACCEPT  注:將memcached加入到防火墻允許訪問規(guī)則中service iptables restart 4.3 Memcached啟動(dòng)和關(guān)閉啟動(dòng):./memcached -d -m 128 -p 11211 -u root推薦精選關(guān)閉:ps -ef |grep memcached /查出memcached的進(jìn)程號(hào)kill -9 進(jìn)程號(hào) 或者執(zhí)行命令# killall memcached 4.1 Memcached狀態(tài)查看memcached有個(gè)名為stats的命令,使用它可以獲得各種各樣的信息。可以使用te

16、lnet:rootlocalhost # telnet localhost 11211Trying :1.Connected to localhost.Escape character is ''.statsSTAT pid 3512STAT uptime 241980STAT time 1421292391STAT version 1.4.22推薦精選STAT libevent 1.4.13-stableSTAT pointer_size 32STAT rusage_user 1.249810.連接到memcached之后,輸入stats再按回車,即可獲得包括資源利用率在內(nèi)的

17、各種信息;此外輸入“stats slabs”或“stats items”還可以獲得關(guān)于緩存記錄的信息。結(jié)束程序輸入“quit”注:centos 默認(rèn)沒有telnet,需要按如下方法自己安裝 # yum install telnet # yum install telnet-server # chkconfig telnet on # service xinetd restart5 集群配置5.1 Nginx負(fù)載均衡及健康檢測(cè)配置按照如下內(nèi)容修改/usr/local/nginx/conf/nginx.conf文件http upstream cluster # simple round-robin

18、#RealServer的IP及端口 server :80; server :80; #健康檢測(cè)的策略check interval=5000 rise=1 fall=3 timeout=4000;#check interval=3000 rise=2 fall=5 timeout=1000 type=ssl_hello;#check interval=3000 rise=2 fall=5 timeout=1000 type=http; #check_http_send "HEAD / HTTP/1.0rnrn" #check_htt

19、p_expect_alive http_2xx http_3xx; server 推薦精選 listen 80; location / proxy_pass http:/cluster; #設(shè)置查看集群狀態(tài)的URLlocation /status check_status; access_log off; allow 00; #允許某臺(tái)機(jī)器可以查看狀態(tài) deny all; 5.2 Tomcat的Session共享配置使用tomcat自帶的cluster方式,多個(gè)tomcat間自動(dòng)實(shí)時(shí)復(fù)制session信息,配置起來很簡(jiǎn)單。但這個(gè)方案的效率比較低,在大并發(fā)下表現(xiàn)并不好。比較

20、好的方式是利用memcached把多個(gè)tomcat的session集中管理,前端再利用nginx負(fù)載均衡和動(dòng)靜態(tài)資源分離,在兼顧系統(tǒng)水平擴(kuò)展的同時(shí)又能保證較高的性能。Tomcat 的session復(fù)制同步使用第三方的memcache-session-manager,配置步驟如下:步驟1:到Maven庫(kù)/搜索并下載如下jar包,然后放至Tomcat的lib目錄下:memcached-session-manager-1.8.3.jarmemcached-session-manager-tc7-1.8.3.jarmsm-javolution-seriali

21、zer-1.8.3.jarspymemcached-2.11.5.jar注:tomcat6和7使用不同msm支持包:memcached-session-manager-tc6-x.x.x.jar和memcached-session-manager-tc7-x.x.x.jar,只可選一,否則啟動(dòng)報(bào)錯(cuò)推薦精選步驟2:修改confcontext.xml文件,添加如下紅色部分<Context><Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes

22、="n1:10:11211" requestUriIgnorePattern=".*.(ico|png|gif|jpg|css|js)$" transcoderFactoryClass="de.javakaffee.web.msm.JavaSerializationTranscoderFactory" /> 5.1 查看集群狀態(tài)通過訪問http:/nginx服務(wù)器IP/status,即可查看集群各節(jié)點(diǎn)的狀態(tài)。5.1 集群?jiǎn)?dòng)關(guān)閉集群?jiǎn)?dòng)請(qǐng)按照如下順序進(jìn)行:a. 啟動(dòng)Memcachedb. 啟動(dòng)Tomcatc. 啟

23、動(dòng)Nginx集群關(guān)閉請(qǐng)按照如下順序進(jìn)行:a. 關(guān)閉Nginxb. 關(guān)閉Tomcat推薦精選c. 關(guān)閉Memcached增加服務(wù)器節(jié)點(diǎn):a. 安裝部署好Tomcatb. 啟動(dòng)Tomcatc. nginx.conf增加該服務(wù)器d. 使用 ./nginx s reload 重新加載配置文件6 Mysq集群配置6.1 部署說明Galera是一個(gè)MySQL(也支持MariaDB,Percona)的同步多主集群軟件,目前只支持InnoDB引擎。主要功能:· 同步復(fù)制· 真正的multi-master,即所有節(jié)點(diǎn)可以同時(shí)讀寫數(shù)據(jù)庫(kù)· 自動(dòng)的節(jié)點(diǎn)成員控制,失效節(jié)點(diǎn)自動(dòng)被清除

24、83; 新節(jié)點(diǎn)加入數(shù)據(jù)自動(dòng)復(fù)制· 真正的并行復(fù)制,行級(jí)· 用戶可以直接連接集群,使用感受上與MySQL完全一致 優(yōu)勢(shì):· 因?yàn)槭嵌嘀鳎圆淮嬖赟lave lag(延遲)· 不存在丟失交易的情況· 同時(shí)具有讀和寫的擴(kuò)展能力· 更小的客戶端延遲 技術(shù):推薦精選· Galera集群的復(fù)制功能基于Galera library實(shí)現(xiàn),為了讓MySQL與Galera library通訊,特別針對(duì)MySQL開發(fā)了wsrep API。· Xtrabackup進(jìn)行InnoDB數(shù)據(jù)備份,支持在線熱備份(備份時(shí)不影響

25、數(shù)據(jù)讀寫)。并有效的解決死鎖,非阻塞。方案總覽:三臺(tái)mysql服務(wù)器,分別部署帶wsrep插件的mysql。分別安裝Xtrabackup、Galera等工具M(jìn)ysql名稱IP地址Node23Node0Node3196.2 安裝前準(zhǔn)備6.2.1 卸載自帶mysql1. 步驟一# yum remove mysql mysql-server mysql-libs compat-mysql51# rm -rf /var/lib/mysql# rm /etc/f2. 步驟二注意:查看是否還有mysql軟件,有的話繼續(xù)刪除:rpm -qa|grep my

26、sql推薦精選6.2.1 安裝mysql集群(官網(wǎng)MariaDB Galera Cluster方案)6.2.2 添加mariaDB yum資源步驟1、進(jìn)入yum資源目錄# cd /etc/yum.repos.d/步驟2、編輯repo文件#vi MariaDB.repo添加mysql資源庫(kù)模板如下:mariadbname = MariaDBbaseurl = /version/packagegpgkey = /RPM-GPG-KEY-MariaDBgpgcheck = 1注baseurl解釋:· ve

27、rsion :mariadb版本號(hào),例如, 5.5.· package:發(fā)布版本. 例如,centos6-x86和centos6-amd64參考示例:mariadbname = MariaDBbaseurl = /5.5/centos6-amd64gpgkey = /RPM-GPG-KEY-MariaDBgpgcheck = 16.2.3 安裝galera# yum install galera推薦精選6.2.4 安裝mysql-wsrep-5.6# yum install MariaDB-clie

28、nt MariaDB-Galera-server6.2.5 編輯f# vi /etc/f.d/fmysqlddatadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sock# * Galera-related settings#galera# Mandatory settingswsrep_provider=/usr/lib64/galera/libgalera_smm.sowsrep_provider_options="gcache.size=300M; gcache.page_size=1G"wsrep_cluster_nam

29、e="my_wsrep_cluster"#wsrep_cluster_address="gcomm:/48,49,53"wsrep_cluster_address="gcomm:/49,53"binlog_format=rowdefault_storage_engine=InnoDBinnodb_autoinc_lock_mode=2wsrep_node_name="node2"wsrep_node_address="10.3

30、.4.249"wsrep_sst_method=rsyncwsrep_sst_auth=cluster:media#bind-address=# Optional setting#wsrep_slave_threads=1#innodb_flush_log_at_trx_commit=0# this is only for embedded server按照如上配置,編輯后保存。注意:配置項(xiàng)解釋屬性名含義server-idMySQL服務(wù)器的ID,必須是唯一的wsrep_node_namewsrep節(jié)點(diǎn)的ID,必須是唯一的wsrep_providerlibgalera_s

31、mm.so包地址wsrep_cluster_address集群中的其他節(jié)點(diǎn)地址,可以使用主機(jī)名或IPwsrep_cluster_address=gcomm:/mysqlnode2,mysqlnode3推薦精選wsrep_node_address本機(jī)節(jié)點(diǎn)地址,可以使用主機(jī)名或IPwsrep_sst_donor一個(gè)逗號(hào)分割的節(jié)點(diǎn)串作為狀態(tài)轉(zhuǎn)移源,比如wsrep_sst_donor=node5,node3, 如果node5可用,用node5,不可用用node3,如果node3不可用,最后的逗號(hào)表明讓提供商自己選擇一個(gè)最優(yōu)的wsrep_sst_method同步sst方法。目前總計(jì)有四種方法mysqld

32、ump:慢(除了小數(shù)據(jù)集),但是測(cè)試充分。rsync:大型數(shù)據(jù)集上快。rsync_wan:與rsync相同,網(wǎng)絡(luò)用量小。xtrabackup:非常快,幾乎非阻塞方法,基于xtrabackup Percona的工具。wsrep_sst_authxtrabackup使用的用戶名密碼,本例中使用wsrep_sst_auth=cluster:mediawsrep_cluster_namegalera集群的名字,必須是統(tǒng)一的6.2.6 啟動(dòng)mysql步驟1、啟動(dòng)并配置第一臺(tái)mysql# service mysql start -wsrep-new-cluster(每次啟動(dòng)集群的第一個(gè)節(jié)點(diǎn)要加該參數(shù))提示

33、啟動(dòng)成功后,登錄mysql注:如果登錄需要密碼,請(qǐng)使用如下語句查看# cat /root/.mysql_secret# The random password set for the root user at Sat Feb 14 12:45:21 2015 (local time): QSwBMLBlVBBnejw5其中QSwBMLBlVBBnejw5為第一次初始化mysql的隨機(jī)密碼用這個(gè)密碼登錄后,需要重新設(shè)置mysql密碼。密令如下:mysql> SET PASSWORD = PASSWORD('media');目前的mysql密碼為media,重啟mysql后密

34、碼生效。步驟2、啟動(dòng)余下結(jié)點(diǎn)# service mysql start步驟3、配置mysql結(jié)點(diǎn)間訪問權(quán)限首先登錄mysql,然后執(zhí)行推薦精選# GRANT ALL ON *.* TO 'cluster''%' IDENTIFIED BY 'media'# GRANT ALL ON *.* TO 'cluster''localhost' IDENTIFIED BY 'media'# GRANT ALL ON *.* TO 'root''48'# GRA

35、NT ALL ON *.* TO 'root''49'步驟4、通過查看4567 端口確認(rèn)集群是否啟動(dòng):# netstat -plantu | grep mysqld步驟5、查詢 galera 插件是否已啟用:# mysql -e "SHOW status LIKE 'wsrep_ready'" p注意:ON表示已經(jīng)啟動(dòng)成功# mysql -e "SHOW VARIABLES LIKE 'wsrep_cluster_address'" -p# mysql -e "SH

36、OW STATUS LIKE 'wsrep%'" -p推薦精選注意:wsrep_cluster_size表示,已經(jīng)成功連接的mysql主機(jī)個(gè)數(shù)。Wsrep_incoming_address表示連接成功的主機(jī)地址和端口推薦精選6.2.7 安裝Xtrabackup(防止鎖表,非阻塞)步驟1、進(jìn)入yum資源目錄# cd /etc/yum.repos.d/步驟2、編輯repo文件#vi Percona.repo保存如下內(nèi)容:# Name: Percona RPM Repository# URL: perconaname = CentOS $releasever - Perco

37、nabaseurl=enabled = 1gpgkey = file:/etc/pki/rpm-gpg/RPM-GPG-KEY-perconagpgcheck = 1步驟3、安裝Xtrabackup# yum install xtrabackup6.2.8 集群維護(hù)1. 啟動(dòng)集群# service mysql start2. 停止集群# service mysql stop3. 狀態(tài)查看# service mysql status4. 查看mysql進(jìn)程# ps ef|grep mysql推薦精選7 AutoMySQLBackup熱備份配置7.1 下載AutoMySQLBackup7.2 安裝

38、AutoMySqlBackup步驟一、創(chuàng)建安裝目錄把下載的automysqlbackup-v3.0_rc6.tar.gz文件拷貝到/root/下面在/usr/local下面新建一個(gè)automysqlbackup文件夾,并進(jìn)入這個(gè)文件夾# cd /usr/local# mkdir automysqlbackupcd automysqlbackup步驟二、解壓縮安裝# tar -xzvf /root/automysqlbackup-v3.0_rc6.tar.gz# ./install.sh注意:中途會(huì)有兩個(gè)詢問配置文件安裝目錄的地方,之間回車就好安裝完以后會(huì)有提示信息,告訴你如果不是當(dāng)前用戶下使用

39、這個(gè)命令要怎么辦:推薦精選步驟三、修改配置文件# cd /etc/autumysqlbackup# vi automysqlbackup.conf(1)、文件里有一些基本的配置信息,比如連接mysql server的用戶名、密碼、IP地址的。# Username to access the MySQL server e.g. dbuserCONFIG_mysql_dump_username='root'# Password to access the MySQL server e.g. passwordCONFIG_mysql_dump_password='1234&#

40、39;# Host name (or IP address) of MySQL server e.g localhostCONFIG_mysql_dump_host='localhost'(2)、配置backup存放路徑# Backup directory location e.g /backupsCONFIG_backup_dir='/var/backup/db'(3)、配置的database的名稱,當(dāng)然可以精確到表名,也可以只指定到database的名稱。或者干脆直接留空,不過留空的話會(huì)默認(rèn)備份所有的數(shù)據(jù)庫(kù)# Databases to backup# Lis

41、t of databases for Daily/Weekly Backup e.g. ( 'DB1' 'DB2' 'DB3' . )# set to (), i.e. empty, if you want to backup all databasesCONFIG_db_names=()# You can use#declare -a MDBNAMES=( "$DBNAMES" 'added entry1' 'added entry2' . )# INSTEAD to copy the con

42、tents of $DBNAMES and add further entries (optional).推薦精選# List of databases for Monthly Backups.# set to (), i.e. empty, if you want to backup all databasesCONFIG_db_month_names=()# List of DBNAMES to EXLUCDE if DBNAMES is empty, i.e. ().CONFIG_db_exclude=( 'information_schema' 'wiqun&#

43、39; )(4)、配置weekly、monthly、daily之類的時(shí)間間隔的設(shè)置# Rotation Settings# Which day do you want monthly backups? (01 to 31)# If the chosen day is greater than the last day of the month, it will be done# on the last day of the month.# Set to 0 to disable monthly backups.CONFIG_do_monthly="22"# Which da

44、y do you want weekly backups? (1 to 7 where 1 is Monday)# Set to 0 to disable weekly backups.CONFIG_do_weekly="7"# Set rotation of daily backups. VALUE*24hours# If you want to keep only today's backups, you could choose 1, i.e. everything older than 24hours will be removed.CONFIG_rotat

45、ion_daily=7# Set rotation for weekly backups. VALUE*24hoursCONFIG_rotation_weekly=35# Set rotation for monthly backups. VALUE*24hoursCONFIG_rotation_monthly=150注意:前兩個(gè)都比較好理解,就是每個(gè)月或者每一周的什么時(shí)候進(jìn)行自動(dòng)備份,如果不想使用每周備份或者每月備份的話,相應(yīng)的地方設(shè)置0即可。那么后面的rotation又是什么意思呢?其實(shí)就是日志保存的期限啦。比如說CONFIG_rotation_weekly=35的意思就是說按周存儲(chǔ)的備份

46、最多保留35天。推薦精選(5)、配置發(fā)送郵件的一些配置,比如郵件地址啦、還有附件的內(nèi)容啦。# What would you like to be mailed to you?# - log : send only log file# - files : send log file and sql files as attachments (see docs)# - stdout : will simply output the log to the screen if run manually.# - quiet : Only send logs if an error occurs to t

47、he MAILADDR.CONFIG_mailcontent='files'# Set the maximum allowed email size in k. (4000 = approx 5MB email see docs)CONFIG_mail_maxattsize=4000# Allow packing of files with tar and splitting it in pieces of CONFIG_mail_maxattsize.CONFIG_mail_splitandtar='yes'# Use uuencode instead of

48、mutt. WARNING: Not all email clients work well with uuencoded attachments.#CONFIG_mail_use_uuencoded_attachments='no'# Email Address to send mail to? (user)CONFIG_mail_address='elarwei'7.3 運(yùn)行Automysqlbackup# mkdir /var/backup# mkdir /var/backup/db# automysqlbackup /etc/automyslqbacku

49、p/automysqlbackup.conf查看生成文件# cd /var/backup/db# ls推薦精選7.4 設(shè)定定時(shí)任務(wù)Cron JobCron 是一個(gè)可以讓系統(tǒng)定時(shí)運(yùn)行后臺(tái)腳本的工具。步驟一、編寫可執(zhí)行腳本在/usr/local/bin目錄下編寫一個(gè)要定時(shí)執(zhí)行的腳本# vi /usr/local/bin/backupscript.sh添加如下內(nèi)容:#!/bin/sh/usr/local/bin/automysqlbackup /etc/automysqlbackup/automysqlbackup.conf保存后退出步驟二、修改backupscript.sh啟動(dòng)權(quán)限# chmod

50、744 /usr/local/bin/backupscript.sh步驟三、將可執(zhí)行腳本加入定時(shí)任務(wù)中# vi root-conf加入0-59/10 * * * * /usr/local/bin/backupscript.sh注意:意思是每十分鐘執(zhí)行一下備份腳本程序(測(cè)試用,正常請(qǐng)按實(shí)際情況設(shè)定)然后保存退出。Crontab腳本解釋: 第1列分鐘159第2列小時(shí)123(0表示子夜)第3列日131第4列月112第5列星期06(0表示星期天)第6列要運(yùn)行的命令下面是crontab的格式:分 時(shí) 日 月 星期 要運(yùn)行的命令這里有crontab文件條目的一些例子:30 21 * * * /usr/lo

51、cal/apache/bin/apachectl restart上面的例子表示每晚的21:30重啟apache。45 4 1,10,22 * * /usr/local/apache/bin/apachectl restart上面的例子表示每月1、10、22日的4 : 45重啟apache。10 1 * * 6,0 /usr/local/apache/bin/apachectl restart上面的例子表示每周六、周日的1 : 10重啟apache。推薦精選0,30 18-23 * * * /usr/local/apache/bin/apachectl restart上面的例子表示在每天18 :

52、 00至23 : 00之間每隔30分鐘重啟apache。0 23 * * 6 /usr/local/apache/bin/apachectl restart上面的例子表示每星期六的11 : 00 pm重啟apache。* */1 * * * /usr/local/apache/bin/apachectl restart每一小時(shí)重啟apache* 23-7/1 * * * /usr/local/apache/bin/apachectl restart晚上11點(diǎn)到早上7點(diǎn)之間,每隔一小時(shí)重啟apache0 11 4 * mon-wed /usr/local/apache/bin/apachectl

53、 restart每月的4號(hào)與每周一到周三的11點(diǎn)重啟apache0 4 1 jan * /usr/local/apache/bin/apachectl restart一月一號(hào)的4點(diǎn)重啟apache步驟四、執(zhí)行crontab命令# crontab -u root root-conf注意:查看crontab命令是否啟動(dòng),請(qǐng)使用crontab l步驟五、查看定時(shí)結(jié)果# cd /var/backup/db/daily# ls可以看到兩個(gè)目錄 進(jìn)入clusterTest7.5 備份還原由于autoMysqlBackup備份的是sql腳本。包含drop、create table等。并且包含insert語句,直接在創(chuàng)建的數(shù)據(jù)庫(kù)中執(zhí)行即可。實(shí)例腳本:推薦精選- MySQL dump 10.13 Distrib 5.5.34, for Linux (x86_64)- Host: localhost Database: clusterTest- - Server version5.5.34-log/*!40101 SET OLD_CHARACTER_SET_CLIENT=CHARACTER_SET_CLIENT */;/*!40101 SET OLD_CHARACTER_SET_RESULTS=CHARACTER_SET_R

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論