国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

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

2020-06-13 11:44:38
字體:
供稿:網(wǎng)友

GIT,備份,linux

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

要使用 BUP, 你先要初始化一個(gè)空的倉庫, 然后備份所有文件. 當(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 倉庫

[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è)空的倉庫, 就像 git 一樣.

[techarena51@vps ~]$ bup init

默認(rèn)情況下, bup 會(huì)把倉庫存儲(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ù)的功能.


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿荣旗| 镇沅| 马尔康县| 雅江县| 南皮县| 海口市| 根河市| 东光县| 衡阳市| 江门市| 岫岩| 那坡县| 海淀区| 青冈县| 绩溪县| 惠水县| 汝南县| 兴义市| 西华县| 库尔勒市| 沈丘县| 齐齐哈尔市| 桐梓县| 湖州市| 长宁县| 化德县| 宁蒗| 南开区| 扶余县| 邓州市| 石柱| 丹阳市| 固安县| 仪陇县| 海伦市| 克拉玛依市| 阳城县| 桂平市| 普兰店市| 兴安盟| 瓮安县|