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

BUP 并不單純是Git, 而是一款基于Git 的軟件. 一般情況下, 我使用 rsync 來備份我的文件, 而且迄今為止一直工作的很好. 唯一的不足就是無法把文件恢復(fù)到某個特定的時間點(diǎn). 因此, 我開始尋找替代品, 結(jié)果發(fā)現(xiàn)了 BUP, 一款基于 git 的軟件, 它將數(shù)據(jù)存儲在一個倉庫中, 并且有將數(shù)據(jù)恢復(fù)到特定時間點(diǎn)的選項(xiàng).
要使用 BUP, 你先要初始化一個空的倉庫, 然后備份所有文件. 當(dāng) BUP 完成一次備份是, 它會創(chuàng)建一個還原點(diǎn), 你可以過后還原到這里. 它還會創(chuàng)建所有文件的索引, 包括文件的屬性和驗(yàn)校和. 當(dāng)要進(jìn)行下一個備份時, BUP 會對比文件的屬性和驗(yàn)校和, 只保存發(fā)生變化的數(shù)據(jù). 這樣可以節(jié)省很多空間.
安裝 BUP (在 Centos 6 & 7 上測試通過)首先確保你已經(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" 時可能會出錯, 但你可以繼續(xù)運(yùn)行 "make install".
第一步時初始化一個空的倉庫, 就像 git 一樣.
[techarena51@vps ~]$ bup init
默認(rèn)情況下, bup 會把倉庫存儲在 "~/.bup" 中, 但你可以通過設(shè)置環(huán)境變量 "export BUP_DIR=/mnt/user/bup" 來改變設(shè)置.
然后, 創(chuàng)建所有文件的索引. 這個索引, 就像之前講過的那樣, 存儲了一系列文件和它們的屬性及 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" 會把所有內(nèi)容分塊, 然后把它們作為對象儲存. "-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
在同一個服務(wù)器上備份文件從來不是一個好的選擇. 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ù)到另一個服務(wù)器, 你必須通過 SCP 或者 rsync 手動復(fù)制文件.
通過集成的 web 服務(wù)器查看備份.
bup web#specific portbup web :8181
你可以使用 shell 腳本來運(yùn)行 bup, 并建立一個每日運(yùn)行的定時任務(wù).
#!/bin/bashbup index /var/www/html bup save -r user@remote-vps.com: -n techarena51 /var/www/html
BUP 并不完美, 但它的確能夠很好地完成任務(wù). 我當(dāng)然非常愿意看到這個項(xiàng)目的進(jìn)一步開發(fā), 希望以后能夠增加遠(yuǎn)程恢復(fù)的功能.
相關(guān)文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內(nèi)2025-04-16如何在Linux查看硬盤信息? 查看Linux硬盤大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內(nèi)容介紹2025-03-12如何在 Linux 中查看 CPU 詳細(xì)信息? 3招輕松查看CPU型號、核心數(shù)和溫度
在日常運(yùn)維工作中,獲取 CPU 信息是系統(tǒng)運(yùn)維管理員常見的工作內(nèi)容,無論是為了性能調(diào)優(yōu)、硬件升級還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨(dú)樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡化,優(yōu)化,現(xiàn)代化,實(shí)用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機(jī)U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個win11裝機(jī)u盤,詳細(xì)如下2025-02-17Rsnapshot怎么用? 基于Rsync的強(qiáng)大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠(yuǎn)程文件,接下來詳細(xì)介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時、每天、每周和每月的本地備份,以及如何進(jìn)2025-02-06Linux Kernel 6.13發(fā)布:附更新內(nèi)容及新特性解讀
Linux 內(nèi)核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡化內(nèi)核搶占邏輯,通過減少與調(diào)度器相關(guān)的調(diào)用次數(shù),讓內(nèi)核在運(yùn)行時表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領(lǐng)創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預(yù)覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內(nèi)核版本為 Linux 6.8,這次更新帶來了諸多優(yōu)化和改進(jìn),進(jìn)一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領(lǐng)域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細(xì)安裝指南2025-01-16