佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫(kù) > 使用GIT軟件備份linux系統(tǒng)上的網(wǎng)頁文件

使用GIT軟件備份linux系統(tǒng)上的網(wǎng)頁文件

熱門標(biāo)簽:解決方案 電話機(jī)器人搭建 服務(wù)器配置 外呼系統(tǒng) 家政服務(wù)網(wǎng)絡(luò) 美團(tuán) 硅谷的囚徒呼叫中心 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式

BUP 并不單純是Git, 而是一款基于Git 的軟件. 一般情況下, 我使用 rsync 來備份我的文件, 而且迄今為止一直工作的很好. 唯一的不足就是無法把文件恢復(fù)到某個(gè)特定的時(shí)間點(diǎn). 因此, 我開始尋找替代品, 結(jié)果發(fā)現(xiàn)了 BUP, 一款基于 git 的軟件, 它將數(shù)據(jù)存儲(chǔ)在一個(gè)倉(cāng)庫(kù)中, 并且有將數(shù)據(jù)恢復(fù)到特定時(shí)間點(diǎn)的選項(xiàng).

要使用 BUP, 你先要初始化一個(gè)空的倉(cāng)庫(kù), 然后備份所有文件. 當(dāng) BUP 完成一次備份是, 它會(huì)創(chuàng)建一個(gè)還原點(diǎn), 你可以過后還原到這里. 它還會(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è)試通過)

首先確保你已經(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" 中, 但你可以通過設(shè)置環(huán)境變量 "export BUP_DIR=/mnt/user/bup" 來改變?cè)O(shè)置.

然后, 創(chuàng)建所有文件的索引. 這個(gè)索引, 就像之前講過的那樣, 存儲(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ù)器上備份文件從來不是一個(gè)好的選擇. BUP 允許你遠(yuǎn)程備份網(wǎng)頁文件, 但你必須保證你的 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ù)器, 你必須通過 SCP 或者 rsync 手動(dòng)復(fù)制文件.

通過集成的 web 服務(wù)器查看備份.

bup web#specific portbup web :8181

你可以使用 shell 腳本來運(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 并不完美, 但它的確能夠很好地完成任務(wù). 我當(dāng)然非常愿意看到這個(gè)項(xiàng)目的進(jìn)一步開發(fā), 希望以后能夠增加遠(yuǎn)程恢復(fù)的功能.

標(biāo)簽:撫州 北海 烏蘭察布 南昌 臨沂 邢臺(tái) 防城港 韶關(guān)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用GIT軟件備份linux系統(tǒng)上的網(wǎng)頁文件》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    平山县| 丰顺县| 汶上县| 弥勒县| 个旧市| 靖西县| 麻城市| 昌黎县| 聂拉木县| 尉犁县| 随州市| 嘉峪关市| 五华县| 白水县| 麻栗坡县| 兴城市| 孝感市| 彭泽县| 济阳县| 白水县| 开江县| 乌兰浩特市| 金寨县| 酒泉市| 济阳县| 青河县| 甘谷县| 巍山| 罗田县| 正镶白旗| 伽师县| 桓台县| 巧家县| 越西县| 娱乐| 徐闻县| 手机| 武川县| 西城区| 揭阳市| 米泉市|