自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Rsnapshot:一款面向Linux遠程文件系統(tǒng)備份工具

譯文
運維 系統(tǒng)運維
基于Rsync的rsnapshot是一款開源本地/遠程文件系統(tǒng)備份實用工具,將本地驅動器上的那些備份存放到不同的硬盤驅動器、外置USB驅動器、NFS掛載驅動器上,或者經(jīng)由SSH,通過網(wǎng)絡存放到另一臺機器上。本文詳解了Rsnapshot備份工具的安裝和使用方法。

【51CTO精選譯文】Rsnapshot是一款開源本地/遠程文件系統(tǒng)備份實用工具,它采用Perl語言編寫而成,充分利用了Rsync和SSH程序的功能,可以針對Linux/Unix文件系統(tǒng)創(chuàng)建預定的增量備份,同時只占用了一套單個完全備份的空間(外加變化的數(shù)據(jù)),并將本地驅動器上的那些備份存放到不同的硬盤驅動器、外置USB驅動器、NFS掛載驅動器上,或者干脆經(jīng)由SSH,通過網(wǎng)絡存放到另一臺機器上。

安裝Rsnapshot備份工具

本文將演示如何安裝、設置及使用rsnapshot,以創(chuàng)建增量的每小時、每天、每周和每月的本地備份,以及創(chuàng)建遠程備份。想執(zhí)行本文中介紹的所有步驟,你必須是根用戶(root user)。

***步:在Linux下安裝rsnapshot備份工具

如果你使用基于紅帽和Debian的發(fā)行版,那么使用Yum和APT(高級打包工具)安裝rsnapshot可能略有不同。

在紅帽企業(yè)級Linux(RHEL)/CentOS上

首先,你得安裝并啟用名為EPEL的第三方軟件庫。請點擊這個鏈接,在你的RHEL/CentOS系統(tǒng)下安裝并啟用第三方軟件庫。Fedora用戶不需要任何特別的軟件庫配置。一旦你完成了設置工作,就可以從命令行來安裝rsnapshot,如下所示。

  1. # yum install rsnapshot 

在Debian/Ubuntu/Linux Mint上

默認情況下,rsnapshot已包含在Ubuntu的軟件庫中,所以你可以使用apt-get命令來安裝它,如下所示。

  1. # apt-get install rsnapshot 

第二步:設置無需密碼的SSH登錄機制

想備份遠程Linux服務器上的內容,你的rsnapshot備份服務器就要能夠通過SSH來連接,而不需要密碼。為了做到這一點,你就需要創(chuàng)建SSH公共密鑰和私有密鑰,以便在rsnapshot服務器上驗證身份。請點擊下面這個鏈接,以便在你的rsnapshot備份服務器上生成公共密鑰和私有密鑰。

《使用SSH密鑰生成器,創(chuàng)建無需密碼的SSH登錄機制》(http://www.tecmint.com/ssh-passwordless-login-using-ssh-keygen-in-5-easy-steps/)

第三步:配置rsnapshot

現(xiàn)在你需要編輯,并為rsnapshot配置文件添加一些參數(shù)。使用vi或nano編輯器,打開rsnapshot.conf文件。

 

  1. # vi /etc/rsnapshot.conf 

下一步,創(chuàng)建一個你想要把所有備份內容存放在其中的備份目錄。以本文為例,我的備份目錄位置是"/data/backup/"。尋找并編輯下面這個參數(shù),以設定備份位置。

 

  1. snapshot_root    /data/backup/ 

另外,取消"cmd_ssh"這一行的注釋,允許通過SSH進行遠程備份。想取消這一行的注釋,請去除下面這一行前面的"#",那樣rsnapshot就能將數(shù)據(jù)安全地傳送到備份服務器上。

 

  1. cmd_ssh  /usr/bin/ssh 

接下來,你要確定想保留多少的舊備份,因為rsnapshot不知道你想多頻繁地拍取快照。你要指定保存多少數(shù)據(jù)、添加保存數(shù)據(jù)的時間間隔以及每個間隔有多久。

好了,默認設置足夠好了,但我還是希望你啟用"monthly"(每月)時間間隔,那樣你還能擁有更長期的備份。請編輯這個部分,以便看起來類似下面的設置。

  1. ######################################### 
  2. #           備份間隔            # 
  3. # 必須具有獨特性,而且按照升序排列  # 
  4. # 即按照每小時、每天、每周等備份        # 
  5. ######################################### 
  6. interval        hourly   6 
  7. interval        daily    7 
  8. interval        weekly  4 
  9. interval        monthly  3 

另外你還需要編輯的是"ssh_args"這個變量。如果你將默認的SSH端口(22)改成了別的端口號,就要指定你那臺遠程備份服務器的那個端口號。

  1. ssh_args     -p 7851 

***,添加你想要備份的本地和遠程備份目錄。

備份本地目錄

如果你已決定將目錄本地備份到同一臺機器上,備份條目應該看起來像這樣。比如說,我要備份我的/tecmint目錄和/etc目錄。

  1. backup   /tecmint/   localhost/ 
  2. backup   /etc/   localhost/ 

備份遠程目錄

如果你想備份遠程服務器目錄,那么你要告訴rsnapshot服務器在哪里、你又想備份哪些目錄。我在這里要備份rsnapshot服務器上"/data/backup"目錄下的遠程服務器"/home"目錄。

 

  1. backup   root@example.com:/home/ /data/backup/ 

另外請參閱:

《如何使用Rsync(遠程同步)工具,備份/同步目錄?》(http://www.tecmint.com/rsync-local-remote-file-synchronization-commands/)

《如何使用SCP命令,傳送文件/文件夾?》(http://www.tecmint.com/scp-commands-examples/)

排除文件和文件夾

這里,我要排除一切內容,然后只專門定義我想要備份什么內容。為此,你需要創(chuàng)建一個排除文件。

 

  1. # vi /data/backup/tecmint.exclude 

首先獲得你想要備份的目錄列表,然后添加(- *),以排除其他所有目錄。這只會備份你在文件中所列的內容。我的排除文件看起來像下面這樣。

  1. + /boot 
  2. + /data 
  3. + /tecmint 
  4. + /etc 
  5. + /home 
  6. + /opt 
  7. + /root 
  8. + /usr 
  9. - /usr/* 
  10. - /var/cache 
  11. + /var 
  12. - /* 

由于使用了rsync遞歸,使用排除文件選項可能很棘手。所以,我上面這個示例可能不是你所要找的。接下來,將排除文件添加到rsnapshot.conf文件。

  1. exclude_file    /data/backup/tecmint.exclude 

***,你的初始配置幾乎已完成了。在進一步操作之前,先保存"/etc/rsnapshot.conf"配置文件。有許多選項需要解釋,但下面是我的示例配置文件。

  1. config_version  1.2 
  2. snapshot_root   /data/backup/ 
  3. cmd_cp  /bin/cp 
  4. cmd_rm  /bin/rm 
  5. cmd_rsync      /usr/bin/rsync 
  6. cmd_ssh /usr/bin/ssh 
  7. cmd_logger      /usr/bin/logger 
  8. cmd_du  /usr/bin/du 
  9. interval        hourly  6 
  10. interval        daily   7 
  11. interval        weekly  4 
  12. interval        monthly 3 
  13. ssh_args          -p 25000 
  14. verbose      2 
  15. loglevel        4 
  16. logfile /var/log/rsnapshot/ 
  17. exclude_file    /data/backup/tecmint.exclude 
  18. rsync_long_args --delete      --numeric-ids   --delete-excluded 
  19. lockfile        /var/run/rsnapshot.pid 
  20. backup        /tecmint/  localhost/ 
  21. backup    /etc/  localhost/ 
  22. backup    root@example.com:/home/ /data/backup/ 

所有上述選項和參數(shù)的解釋如下:

  1. config_version 1.2 = 配置文件版本 
  2. snapshot_root = 存儲快照的備份目的地 
  3. cmd_cp = 拷貝命令路徑 
  4. cmd_rm = 刪除命令路徑 
  5. cmd_rsync = rsync路徑 
  6. cmd_ssh = SSH路徑 
  7. cmd_logger = 系統(tǒng)日志的外殼命令接口路徑 
  8. cmd_du = 磁盤使用命令路徑 
  9. interval hourly = 保留多少的每小時備份 
  10. interval daily = 保留多少的每天備份 
  11. interval weekly = 保留多少的每周備份 
  12. interval monthly = 保留多少的每月備份 
  13. ssh_args = 可選的SSH變量,比如不同的端口(-p) 
  14. verbose = 不需要加以說明 
  15. loglevel = 不需要加以說明 
  16. logfile = 日志文件路徑 
  17. exclude_file = 排除文件路徑(下面會更詳細地解釋) 
  18. rsync_long_args = 傳遞到rsync的長變量 
  19. lockfile = 不需要加以說明 
  20. backup = 備份項的完整路徑,后跟位置的相對路徑 

第四步:驗證rsnapshot配置

一旦你完成了所有的配置工作,就需要驗證一切都按預期的那樣在運作。運行下面這個命令,驗證你的配置使用了正確語法。

  1. # rsnapshot configtest 
  2. Syntax OK 

要是一切配置正確,你會收到"Syntax OK"(語法正確)的消息。要是你收到了任何錯誤的消息,那就意味著你需要在運行rsnapshot之前,先糾正那些錯誤。

接下來,對其中一個快照測試一番,確保我們在生成正確的結果。我們拿"hourly"(每小時)這個參數(shù),使用-t(測試)參數(shù)進行一番測試。下面這個命令會顯示冗長列表,表明該命令要執(zhí)行的一系列操作,但又不實際執(zhí)行這些操作。

 

  1. # rsnapshot -t hourly 

示例輸出

  1. echo 2028 > /var/run/rsnapshot.pid 
  2. mkdir -m 0700 -p /data/backup/ 
  3. mkdir -m 0755 -p /data/backup/hourly.0/ 
  4. /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /home \ 
  5. /backup/hourly.0/localhost/ 
  6. mkdir -m 0755 -p /backup/hourly.0/ 
  7. /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded /etc \ 
  8. /backup/hourly.0/localhost/ 
  9. mkdir -m 0755 -p /data/backup/hourly.0/ 
  10. /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \ 
  11. /usr/local /data/backup/hourly.0/localhost/ 
  12. touch /data/backup/hourly.0/ 

注意:上面這個命令指令rsnapshot創(chuàng)建一個"hourly"備份。它實際上輸出了我們在實際執(zhí)行該命令時它會執(zhí)行的那些命令。

第五步:手動運行rsnapshot

驗證了結果后,你可以去除"-t"選項,實際運行這個命令。

 

  1. # rsnapshot hourly 

上面這個命令會運行備份腳本,連同我們添加在rsnapshot.conf文件中的所有配置,創(chuàng)建一個"backup"目錄,然后在它下面創(chuàng)建組織管理我們那些文件的目錄結構。在運行上面這個命令后,你可以進入到備份目錄來驗證結果,然后使用ls -l命令列出目錄結構,如下所示。

  1. command as shown. 
  2. # cd /data/backup 
  3. # ls -l 
  4. total 4 
  5. drwxr-xr-x 3 root root 4096 Oct 28 09:11 hourly.0 

第六步:讓過程自動化

為了讓這個過程自動化,你就需要通過Cron計劃任務工具,安排rsnapshot按某些時間間隔運行。默認情況下,rsnapshot在"/etc/cron.d/rsnapshot"下隨帶cron文件;要是這個文件不存在,就創(chuàng)建一個,然后將下面幾行添加到該文件。

默認情況下,規(guī)則被注釋,所以你要去除計劃部分前面的"#",以便啟用這些值。

  1. # 這是rsnapshot的示例計劃任務文件。 
  2. # 所用的值對應于/etc/rsnapshot.conf中的示例。 
  3. # 你還可以在那里設定備份點及其他許多選項。 
  4. # 想激活這些計劃任務文件,你就得取消下面幾行的注釋。 
  5. # 請隨意改動,以符合你的需要。 
  6. 0     */4    * * *    root    /usr/bin/rsnapshot hourly 
  7. 30     3     * * *    root    /usr/bin/rsnapshot daily 
  8. 0      3     * * 1    root    /usr/bin/rsnapshot weekly 
  9. 30     2     1 * *    root    /usr/bin/rsnapshot monthly 

讓我具體解釋一下上述的計劃任務規(guī)則具體執(zhí)行什么操作:

  • 每隔4小時運行一次,在/backup目錄下創(chuàng)建hourly目錄。
  • 每天凌晨3:30運行,在/backup目錄下創(chuàng)建daily目錄。
  • 每周運行一次,具體時間是星期一凌晨3:00,在/backup目錄下創(chuàng)建weekly目錄。
  • 每月運行一次,具體時間是凌晨2:30,在/backup目錄下創(chuàng)建monthly目錄。

為了更深入地了解計劃任務規(guī)則是如何工作的,我建議你參閱我們的這篇描述文章。

第七步:rsnapshot報告

rsnapshot提供了一個小巧的報告Perl腳本,它可以向你發(fā)送電子郵件提醒,并附有與你的數(shù)據(jù)備份期間出現(xiàn)的事情有關的所有詳細信息。想創(chuàng)建該腳本,你就要將腳本拷貝到"/usr/local/bin"下面的某個地方,然后讓它可以執(zhí)行。

  1. # cp /usr/share/doc/rsnapshot-1.3.1/utils/rsnapreport.pl /usr/local/bin 
  2. # chmod +x /usr/local/bin/rsnapreport.pl 

接下來,將你"rsnapshot.conf"文件中的"-stats"參數(shù)添加到rsync的長參數(shù)部分。

  1. vi /etc/rsnapshot.conf 
  2. rsync_long_args --stats --delete        --numeric-ids   --delete-excluded 

現(xiàn)在編輯之前添加上去的crontab規(guī)則,并調用rsnapreport.pl腳本,將報告?zhèn)鬟f到指定的電子郵件地址。

  1. # 這是rsnapshot的示例計劃任務文件。 
  2. # 所用的值對應于/etc/rsnapshot.conf中的示例。 
  3. # 你還可以在那里指定備份點和另外許多選項。 
  4. # 想激活這個cron文件,你得取消下面幾行的注釋。 
  5. # 請隨意改動,以符合你的需要。 
  6. 0     */4    * * *    root    /usr/bin/rsnapshot hourly 2>&1  | \/usr/local/bin/rsnapreport.pl | mail -s "Hourly Backup" yourname@email.com 
  7. 30     3     * * *    root    /usr/bin/rsnapshot daily 2>&1  | \/usr/local/bin/rsnapreport.pl | mail -s "Daily Backup" yourname@email.com 
  8. 0      3     * * 1    root    /usr/bin/rsnapshot weekly 2>&1  | \/usr/local/bin/rsnapreport.pl | mail -s "Weekly Backup" yourname@email.com 
  9. 30     2     1 * *    root    /usr/bin/rsnapshot monthly 2>&1  | \/usr/local/bin/rsnapreport.pl | mail -s "Monthly Backup" yourname@email.com 

一旦你正確添加了上述條目,就能將報告?zhèn)鬟f到類似下面的電子郵件地址。

  1. SOURCE  TOTAL FILES  FILES TRANS TOTAL MB  MB TRANS   LIST GEN TIME  FILE XFER TIME   
  2. ---------------------------------------------------------------------  
  3. localhost/  185734  11853  2889.45  6179.18  40.661 second  0.000 seconds   

參考鏈接:rsnapshot的主頁

暫時寫到這里;要是你在安裝過程中出現(xiàn)了什么問題,歡迎在此留言。

原文鏈接:http://www.tecmint.com/rsnapshot-a-file-system-backup-utility-for-linux/

責任編輯:黃丹 來源: 51CTO.com
相關推薦

2013-12-26 09:46:43

Monitorix監(jiān)測工具

2013-04-17 09:17:37

Linux文件系統(tǒng)系統(tǒng)清理工具

2021-07-13 07:03:18

Linux遠程工具

2020-02-17 07:20:22

SSH遠程連接工具Linux

2019-11-11 08:00:00

Doppler遠程監(jiān)測工具Linux

2024-02-21 23:40:56

2020-07-06 10:29:21

Linux系統(tǒng)數(shù)據(jù)

2013-11-08 10:56:15

2016-03-29 17:52:45

Linux工具備份

2024-02-20 07:32:18

Rsync遠程同步工具傳輸數(shù)據(jù)

2013-10-15 09:26:12

2010-04-26 18:11:55

Unix文件系統(tǒng)

2011-01-13 14:10:30

Linux文件系統(tǒng)

2020-11-17 09:27:26

KubernetesYAMLKubeLinter

2020-07-22 14:53:06

Linux系統(tǒng)虛擬文件

2022-06-20 08:58:25

Obsidian筆記工具

2015-10-27 13:45:58

CloneAppWindows工具

2010-09-14 09:15:03

RsyncLinux備份遠程數(shù)據(jù)同步

2018-09-19 09:05:54

Linux桌面開源

2022-08-09 15:30:41

Linux
點贊
收藏

51CTO技術棧公眾號