亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢(xún)熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

VPS定時(shí)自動(dòng)備份終極指南

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

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

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

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

一、VPS A 上面的具體部署

1. 安裝 rsync

yum -y install rsync

把rsync加入開(kāi)機(jī)啟動(dòng)

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

2. 設(shè)置rsync密碼

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

chmod 600 /etc/rsyncd.scrt

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

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方法來(lái)排除

exclude from = /etc/rsync_exclude.txt

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

hosts deny = *

4. 排除不備份的目錄

vim /etc/rsync_exclude.txt

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

AAA.com/blog/cache/

AAA.com/manual/

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

5. 制作一個(gè)重啟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 來(lái)重新啟動(dòng) rsync 進(jìn)程

6. 備份 MySQL 的腳本

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

vim /root/mysql_backup.sh

下載: mysql_backup.sh

#!/bin/bash

# 以下配置信息請(qǐng)自己修改

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ù)庫(kù)名稱(chēng),多個(gè)用空格分開(kāi)隔開(kāi) 如("db1" "db2" "db3")

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

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

expire_days=3 #過(guò)期時(shí)間天數(shù) 默認(rèn)為三天,此項(xiàng)只有在expire_backup_delete開(kāi)啟時(shí)有效

# 本行開(kāi)始以下不需要修改

backup_time=`date +%Y%m%d%H%M` #定義備份詳細(xì)時(shí)間

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

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!" #歡迎語(yǔ)

# 判斷MYSQL是否啟動(dòng),mysql沒(méi)有啟動(dòng)則備份退出

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ù)庫(kù),無(wú)法連接則備份退出

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.。。。。。"

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

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

# 如果開(kāi)啟了刪除過(guò)期備份,則進(jìn)行刪除操作

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定時(shí)自動(dòng)備份

00 00 * * * /root/mysql_backup.sh

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

二、VPS B 上面的具體部署

1. 安裝 rsync

yum -y install rsync

這里不需要加入開(kāi)機(jī)啟動(dòng)了,因?yàn)槭强蛻舳,不是服?wù)端

2. 設(shè)置rsync密碼

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

chmod 400 /etc/rsync.pass

3. 測(cè)試一下同步

先建個(gè)存儲(chǔ)備份的地方

mkdir -p /var/rsync/

測(cè)試一下同步

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

這條命令,我說(shuō)明一下幾個(gè)要點(diǎn)

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

--delete 是為了比如A上刪除了一個(gè)文件,同步的時(shí)候,B會(huì)自動(dòng)刪除那個(gè)文件

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

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

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

::www,注意是2個(gè) : 號(hào),www為VPS A的配置文件 /etc/rsyncd.conf 中的[www],意思是根據(jù)A上的/etc/rsyncd.conf來(lái)同步其中的[www]段內(nèi)容,一個(gè) : 號(hào)的時(shí)候,用于不根據(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ù)了,天天自動(dòng)備份!

如果還要再保險(xiǎn)一點(diǎn),再加個(gè)VPS C。

C來(lái)同步B,雙重備份,哪個(gè)掛了都不怕!


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

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

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

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