備份分類
服務器里面重要的數據、檔案或歷史紀錄,不論是對企業用戶還是對個人用戶,都是至關重要的,一時不慎丟失,都會造成不可估量的損失,輕則辛苦積累起來的心血付之東流,嚴重的會影響企業的正常運作,給公司造成巨大的損失。
整機或整盤備份
對 Linux 服務器來講,當然最理想的就是把整塊硬盤中的數據都備份,甚至連分區和文件系統都備份,這樣如果硬盤損壞,那么我們可以直接把備份硬盤中的數據導入損壞的硬盤,甚至可以直接用備份硬盤代替損壞的硬盤。從數據恢復角度來說,這樣的整盤備份是最方便的,一般對於硬件服務器來講, 都會對重要的數據磁盤進行Raid配置,從而保證服務器數據的冗余度,同時也可以結合業務數據冗余方案實施雙重冗余。
重要數據或文件備份
Linux 服務器中會安裝各種各樣的應用程序,每種應用程序到底應該備份什么數據也不盡相同,要具體情況具體對待,通常會將自定義的重要數據進行本機或異地的文件備份,從而保證數據的冗余度,在出現問題的情況下,可以依據備份數據進行快速的響應回復。咱們已常用的apache 服務和 mysql 服務為例:
apache 服務需要備份如下內容:
- 配置文件:RPM包安裝的apache需要備份/etc/httpd/conf/httpd.conf;源碼包安裝的apache則需要備份/usr/local/apache2/conf/httpd.conf。
- 網頁主目錄:RPM包安裝的apache需要備份/var/www/html/目錄中所有的數據;源碼包安裝的apache需要備份/usr/local/apache2/htdocs/目錄中所有的數據。
- 日志文件:RPM包安裝的apache需要備份/var/log/httpd/目錄中所有的日志;源碼包安裝的apache需要備份/usr/local/apache2/logs/目錄中所有的日志。
其實,對源碼包安裝的 apache 來講,只要備份 /usr/local/apache2/ 目錄中所有的數據即可,因為源碼包安裝的服務的所有數據都會保存到指定目錄中。但如果是 RPM 包安裝的服務,就需要單獨記憶和指定了。
mysql 服務需要備份如下內容:
- 對於源碼包安裝的 mysql 服務,數據庫默認安裝到 /usr/local/mysql/data/ 目錄中,只需備份此目錄即可。
- 對於RPM包安裝的 mysql 服務,數據庫默認安裝到 /var/lib/mysql/ 目錄中,只需備份此目錄即可。
如果是源碼包安裝的服務,則可以直接備份 /usr/local/ 目錄,因為一般源碼包服務都會安裝到 /usr/local/ 目錄中。如果是 RPM 包安裝的服務,則需要具體服務具體對待,備份正確的數據。
全量備份
完全備份是指把所有需要備份的數據全部備份。當然,完全備份可以備份整塊硬盤、整個分區或某個具體的文件。
完全備份的好處是數據恢復方便,因為所有的數據都在同一個備份中,所以只要恢復完全備份,所有的數據都會被恢復。如果完全備份備份的是整塊硬盤,那么甚至不需要數據恢復,只要把備份硬盤安裝上,服務器就會恢復正常。
但是完全備份的缺點也很明顯,那就是需要備份的數據量較大,備份時間較長,占用的空間較大,所以完全備份不可能每天執行。
增量備份
完全備份隨着數據量的加大,備份耗費的時間和占用的空間會越來越多,所以完全備份不會也不能每天進行,這時增量備份的作用就體現了出來。
增量備份是指先進行一次完全備份,服務器運行一段時間之后,比較當前系統和完全備份的備份數據之間的差異,只備份有差異的數據。服務器繼續運行,再經過一段時間,進行第二次增量備份。在進行第二次增量備份時,當前系統和第一次增量備份的數據進行比較,也是只備份有差異的數據。第三次增量備份是和第二次增量備份的數據進行比較,以此類推。