Linux下如何備份網(wǎng)頁(yè)文件
在進(jìn)行Linux系統(tǒng)操作的時(shí)候,有時(shí)需要備份Linux系統(tǒng)上的網(wǎng)頁(yè)文件,而備份網(wǎng)頁(yè)文件一般都使用Git軟件來(lái)備份,今天學(xué)習(xí)啦小編就給大家介紹下一款基于Git的軟件—BUP,一起來(lái)了解下如何使用BUP備份網(wǎng)頁(yè)文件。
要使用 BUP, 你先要初始化一個(gè)空的倉(cāng)庫(kù), 然后備份所有文件。 當(dāng) BUP 完成一次備份是, 它會(huì)創(chuàng)建一個(gè)還原點(diǎn), 你可以過(guò)后還原到這里。 它還會(huì)創(chuàng)建所有文件的索引, 包括文件的屬性和驗(yàn)校和。 當(dāng)要進(jìn)行下一個(gè)備份時(shí), BUP 會(huì)對(duì)比文件的屬性和驗(yàn)校和, 只保存發(fā)生變化的數(shù)據(jù)。 這樣可以節(jié)省很多空間。
安裝 BUP (在 Centos 6 & 7 上測(cè)試通過(guò))
首先確保你已經(jīng)安裝了 RPMFORGE 和 EPEL 倉(cāng)庫(kù)
[techarena51@vps ~]$ sudo yum groupinstall “Development Tools”[techarena51@vps ~]$ sudo yum install python python-devel[techarena51@vps ~]$ sudo yum install fuse-python pyxattr pylibacl[techarena51@vps ~]$ sudo yum install perl-Time-HiRes[techarena51@vps ~]$ git clone git://github.com/bup/bup[techarena51@vps ~]$ cd bup[techarena51@vps ~]$ make[techarena51@vps ~]$ make test[techarena51@vps ~]$ sudo make install
在 CentOS 7 上, 當(dāng)你運(yùn)行 “make test” 時(shí)可能會(huì)出錯(cuò), 但你可以繼續(xù)運(yùn)行 “make install”。
第一步時(shí)初始化一個(gè)空的倉(cāng)庫(kù), 就像 git 一樣。
[techarena51@vps ~]$ bup init
默認(rèn)情況下, bup 會(huì)把倉(cāng)庫(kù)存儲(chǔ)在 “~/.bup” 中, 但你可以通過(guò)設(shè)置環(huán)境變量 “export BUP_DIR=/mnt/user/bup” 來(lái)改變?cè)O(shè)置。
然后, 創(chuàng)建所有文件的索引。 這個(gè)索引, 就像之前講過(guò)的那樣, 存儲(chǔ)了一系列文件和它們的屬性及 git 目標(biāo) id (sha1 哈希表)。 (屬性包括了軟鏈接, 權(quán)限和不可改變字節(jié))
bup index /path/to/filebup save -n nameofbackup /path/to/file#Example[techarena51@vps ~]$ bup index /var/www/htmlIndexing: 7973, done (4398 paths/s).bup: merging indexes (7980/7980), done.[techarena51@vps ~]$ bup save -n techarena51 /var/www/htmlReading index: 28, done.Saving: 100.00% (4/4k, 28/28 files), done.bloom: adding 1 file (7 objects).Receiving index from server: 1268/1268, done.bloom: adding 1 file (7 objects)。
“BUP save” 會(huì)把所有內(nèi)容分塊, 然后把它們作為對(duì)象儲(chǔ)存。 “-n” 選項(xiàng)指定備份名。
你可以查看備份列表和已備份文件。
[techarena51@vps ~]$ bup lslocal-etc techarena51 test#Check for a list of backups available for my site[techarena51@vps ~]$ bup ls techarena512014-09-24-064416 2014-09-24-071814 latest#Check for the files available in these backups[techarena51@vps ~]$ bup ls techarena51/2014-09-24-064416/var/www/htmlapc.php techarena51.com wp-config-sample.php wp-load.php
在同一個(gè)服務(wù)器上備份文件從來(lái)不是一個(gè)好的選擇。 BUP 允許你遠(yuǎn)程備份網(wǎng)頁(yè)文件, 但你必須保證你的 SSH 密鑰和 BUP 都已經(jīng)安裝在遠(yuǎn)程服務(wù)器上。
bup index path/to/dirbup save-r remote-vps.com -n backupname path/to/dir
例子: 備份 “/var/www/html” 文件夾
[techarena51@vps ~]$bup index /var/www/html[techarena51@vps ~]$ bup save -r user@remotelinuxvps.com: -n techarena51 /var/www/htmlReading index: 28, done.Saving: 100.00% (4/4k, 28/28 files), done.bloom: adding 1 file (7 objects).Receiving index from server: 1268/1268, done.bloom: adding 1 file (7 objects)。
恢復(fù)備份
登入遠(yuǎn)程服務(wù)器并輸入下面的命令
[techarena51@vps ~]$bup restore -C 。/backup techarena51/latest#Restore an older version of the entire working dir elsewhere[techarena51@vps ~]$bup restore -C /tmp/bup-out /testrepo/2013-09-29-195827#Restore one individual file from an old backup[techarena51@vps ~]$bup restore -C /tmp/bup-out /testrepo/2013-09-29-201328/root/testbup/binfile1.bin
唯一的缺點(diǎn)是你不能把文件恢復(fù)到另一個(gè)服務(wù)器, 你必須通過(guò) SCP 或者 rsync 手動(dòng)復(fù)制文件。
通過(guò)集成的 web 服務(wù)器查看備份。
bup web#specific portbup web :8181
你可以使用 shell 腳本來(lái)運(yùn)行 bup, 并建立一個(gè)每日運(yùn)行的定時(shí)任務(wù)。
#!/bin/bashbup index /var/www/html bup save -r user@remote-vps.com: -n techarena51 /var/www/html
上面就是使用BUP軟件備份Linux系統(tǒng)上的網(wǎng)頁(yè)文件的過(guò)程介紹了,該軟件還存在一些不足的地方,不過(guò)已經(jīng)能夠滿足基本需求了,不妨試試看吧。