激情五月天婷婷,亚洲愉拍一区二区三区,日韩视频一区,a√天堂中文官网8

<ul id="buwfs"><strike id="buwfs"><strong id="buwfs"></strong></strike></ul>
    <output id="buwfs"></output>
  • <dfn id="buwfs"><source id="buwfs"></source></dfn>
      <dfn id="buwfs"><td id="buwfs"></td></dfn>
      <div id="buwfs"><small id="buwfs"></small></div>
      <dfn id="buwfs"><source id="buwfs"></source></dfn>
      1. <dfn id="buwfs"><td id="buwfs"></td></dfn>
        始創(chuàng)于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業(yè)
        • 60秒人工響應(yīng)
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        全部產(chǎn)品
        您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

        VPS定時自動備份終極指南

        發(fā)布時間:  2012/8/17 9:31:34
         近半年,先后丟失5個網(wǎng)站數(shù)據(jù)和網(wǎng)站模板程序,大多都是由于VPS硬盤損壞造成,RAID10為了速度是很不保險的。最近的2次分別是DirectSpace和BuyVM,所以,必需備份,作好VPS隨時準備丟失數(shù)據(jù)的準備。

        昨天花了一整天,把目前所有的站做了每日同步,以下分享給大家實際操作方法。網(wǎng)上關(guān)于rsync的資料也不少,但多數(shù)我想會把你看暈的,以下我用實例來講解,重點的地方我會詳細說明,希望讓大家都會用。

        以下,假設(shè)網(wǎng)站所在的VPS為A,存儲備份的VPS為B,系統(tǒng)均為CentOS。

        備份方法為 B 定時向 A 拉數(shù)據(jù)來備份

        一、VPS A 上面的具體部署

        1. 安裝 rsync

        yum -y install rsync

        把rsync加入開機啟動

        echo 'rsync --daemon' >> /etc/rc.d/rc.local

        2. 設(shè)置rsync密碼

        echo '你的用戶名:你的密碼' > /etc/rsyncd.scrt

        chmod 600 /etc/rsyncd.scrt

        這里的用戶名和密碼,在VPS B上將會用到

        3. 配置rsync

        vim /etc/rsyncd.conf

        放入以下內(nèi)容, #后面是我的注釋

        下載:rsyncd.conf

        uid = root

        gid = root

        use chroot = no

        read only = yes

        max connections = 10

        port = 873

        pid file = /var/run/rsyncd.pid

        lock file = /var/run/rsync.lock

        #log file = /var/log/rsync.log # 偶不想記錄log

        log format = %t %a %m %f %b

        syslog facility = local3

        timeout = 300

        [www]

        path = /var/www/

        comment = AAA.com

        ignore errors

        read only = yes

        list = no

        auth users = andy

        secrets file = /etc/rsyncd.scrt

        #exclude = AAA.com/blog/cache/ #不需要備份的目錄,我使用exclude from方法來排除

        exclude from = /etc/rsync_exclude.txt

        hosts allow = 備份服務(wù)器的IP

        hosts deny = *

        4. 排除不備份的目錄

        vim /etc/rsync_exclude.txt

        輸入不備份的目錄,每行一個,不可以用絕對路徑,而必須用上面配置文件中path的相對路徑,如

        AAA.com/blog/cache/

        AAA.com/manual/

        這個排除文件有更高級的+-寫法,我們不需要,簡單夠用就好,用 exclude from 方法,好處在于隨時要添加不需要備份的內(nèi)容時,方便添加,且不需要重啟rsync進程

        5. 制作一個重啟rsync的腳本

        vim /root/rsyncd_restart.sh

        放入以下內(nèi)容

        kill -9 `cat /var/run/rsyncd.pid`

        rm -f /var/run/rsyncd.pid

        rm -f /var/run/rsyncd.lock

        rsync --daemon

        chmod 600 /root/rsyncd_restart.sh

        chmod +x /root/rsyncd_restart.sh

        現(xiàn)在直接用 /root/rsyncd_restart.sh 來重新啟動 rsync 進程

        6. 備份 MySQL 的腳本

        此腳本可同時備份多個數(shù)據(jù)庫,并進行g(shù)zip壓縮,按日期目錄保存,3天之前的備份將被自動刪除

        vim /root/mysql_backup.sh

        下載: mysql_backup.sh

        #!/bin/bash

        # 以下配置信息請自己修改

        mysql_user="USER" #MySQL備份用戶

        mysql_password="PASSWORD" #MySQL備份用戶的密碼

        mysql_host="localhost"

        mysql_port="3306"

        mysql_charset="utf8" #MySQL編碼

        backup_db_arr=("db1" "db2") #要備份的數(shù)據(jù)庫名稱,多個用空格分開隔開 如("db1" "db2" "db3")

        backup_location=/var/www/mysql #備份數(shù)據(jù)存放位置,末尾請不要帶“/”,此項可以保持默認,程序會自動創(chuàng)建文件夾

        expire_backup_delete="ON" #是否開啟過期備份刪除 ON為開啟 OFF為關(guān)閉

        expire_days=3 #過期時間天數(shù) 默認為三天,此項只有在expire_backup_delete開啟時有效

        # 本行開始以下不需要修改

        backup_time=`date +%Y%m%d%H%M` #定義備份詳細時間

        backup_Ymd=`date +%Y-%m-%d` #定義備份目錄中的年月日時間

        backup_3ago=`date -d '3 days ago' +%Y-%m-%d` #3天之前的日期

        backup_dir=$backup_location/$backup_Ymd #備份文件夾全路徑

        welcome_msg="Welcome to use MySQL backup tools!" #歡迎語

        # 判斷MYSQL是否啟動,mysql沒有啟動則備份退出

        mysql_ps=`ps -ef |grep mysql |wc -l`

        mysql_listen=`netstat -an |grep LISTEN |grep $mysql_port|wc -l`

        if [[$mysql_ps == 0] -o [$mysql_listen == 0]]; then

        echo "ERROR:MySQL is not running! backup stop!"

        exit

        else

        echo $welcome_msg

        fi

        # 連接到mysql數(shù)據(jù)庫,無法連接則備份退出

        mysql -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password <

        use mysql;

        select host,user from user where user='root' and host='localhost';

        exit

        end

        flag=`echo $?`

        if [ $flag != "0"]; then

        echo “ERROR:Can't connect mysql server! backup stop!"

        exit

        else

        echo "MySQL connect ok! Please wait.。。。。。"

        # 判斷有沒有定義備份的數(shù)據(jù)庫,如果定義則開始備份,否則退出備份

        if ["backup_db_arr"!= "" ]then

        #dbnames=$(cut -d ',' -f1-5 $backup_database)

        #echo "arr is (${backup_db_arr[@]})"

        for dbname in ${backup_db_arr[@]}

        do

        echo "database $dbname backup start.。。"

        `mkdir -p $backup_dir`

        `mysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password $dbname --default-character-set=$mysql_charset | gzip 》 $backup_dir/$dbname-$backup_time.sql.gz`

        flag=`echo $?`

        if [ $flag == "0"];then

        echo "database $dbname success backup to $backup_dir/$dbname-$backup_time.sql.gz"

        else

        echo "database $dbname backup fail!"

        fi

        done

        else

        echo "ERROR:No database to backup! backup stop"

        exit

        fi

        # 如果開啟了刪除過期備份,則進行刪除操作

        if ["$expire_backup_delete" == "ON" -a "$backup_location"!= "" ]then

        `find $backup_location/ -type d -o -type f -ctime +$expire_days -exec rm -rf {} \;`

        echo "Expired backup data delete complete!"

        fi

        echo "All database backup success! Think you!"

        exit

        fi

        chmod 600 /root/mysql_backup.sh

        chmod +x /root/mysql_backup.sh

        好了,加入 crontab 每天00:00定時自動備份

        00 00 * * * /root/mysql_backup.sh

        至此,網(wǎng)站所在VPS A上的部署已經(jīng)都完成了!接下來在備份VPS B上進行設(shè)置來拉備份。

        二、VPS B 上面的具體部署

        1. 安裝 rsync

        yum -y install rsync

        這里不需要加入開機啟動了,因為是客戶端,不是服務(wù)端

        2. 設(shè)置rsync密碼

        echo '你在A上設(shè)置的密碼'> /etc/rsync.pass

        chmod 400 /etc/rsync.pass

        3. 測試一下同步

        先建個存儲備份的地方

        mkdir -p /var/rsync/

        測試一下同步

        rsync -avzP --delete --password-file=/etc/rsync.pass 用戶名@192.168.0.100::www /var/rsync/AAA.com/

        這條命令,我說明一下幾個要點

        -avzP是啥,自己搜索我站內(nèi)介紹

        --delete 是為了比如A上刪除了一個文件,同步的時候,B會自動刪除那個文件

        --password-file 剛才VPS B中 /etc/rsync.pass 設(shè)置那個密碼,要和VPS A的 /etc/rsyncd.scrt 中的密碼一樣,這樣cron運行的時候,就不需要密碼了

        這條命令中的“用戶名”為VPS A的 /etc/rsyncd.scrt 中的用戶名

        這條命令中的 192.168.0.100 為VPS A的IP地址

        ::www,注意是2個 : 號,www為VPS A的配置文件 /etc/rsyncd.conf 中的[www],意思是根據(jù)A上的/etc/rsyncd.conf來同步其中的[www]段內(nèi)容,一個 : 號的時候,用于不根據(jù)配置文件,直接同步指定目錄

        4. 加入crontab每天00:30同步

        30 00 * * * rsync -avzP --delete --password-file=/etc/rsync.pass 用戶名@192.168.0.100::www /var/rsync/AAA.com/ > /dev/null 2>&1

        OK!至此大功告成!不怕丟數(shù)據(jù)了,天天自動備份!

        如果還要再保險一點,再加個VPS C。

        C來同步B,雙重備份,哪個掛了都不怕!


        本文出自:億恩科技【mszdt.com】

        服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

      2. 您可能在找
      3. 億恩北京公司:
      4. 經(jīng)營性ICP/ISP證:京B2-20150015
      5. 億恩鄭州公司:
      6. 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
      7. 億恩南昌公司:
      8. 經(jīng)營性ICP/ISP證:贛B2-20080012
      9. 服務(wù)器/云主機 24小時售后服務(wù)電話:0371-60135900
      10. 虛擬主機/智能建站 24小時售后服務(wù)電話:0371-60135900
      11. 專注服務(wù)器托管17年
        掃掃關(guān)注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務(wù)熱線