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

利用命令行工具創(chuàng)建Linux/Mac系統(tǒng)下的網(wǎng)站備份

系統(tǒng) Linux
所有的Linux/Mac用戶都能夠零經(jīng)濟成本地通過命令行工具創(chuàng)建網(wǎng)站備份。本文的初衷不是為讀者提供完整的備份解決方案,而是給那些有時間并且想要學(xué)習(xí)一些基礎(chǔ)的命令行工具進(jìn)行網(wǎng)站備份的寶寶們一點參考。

完美利用命令行工具創(chuàng)建Linux/Mac系統(tǒng)下的網(wǎng)站備份

創(chuàng)建網(wǎng)站備份應(yīng)該是一個網(wǎng)站管理員最為重要的日常工作之一。但現(xiàn)實情況是,備份這一步往往被很多人忽略,也就是說仍然有很多網(wǎng)管的網(wǎng)站安全意識較低。

所有的Linux/Mac用戶都能夠零經(jīng)濟成本地通過命令行工具創(chuàng)建網(wǎng)站備份。如果你用的不是Linux/Mac,請關(guān)注我們的后續(xù)文章——如何在windows上通過軟件方式創(chuàng)建備份。

本文的初衷不是為讀者提供完整的備份解決方案,而是給那些有時間并且想要學(xué)習(xí)一些基礎(chǔ)的命令行工具進(jìn)行網(wǎng)站備份的寶寶們一點參考。

必要條件

你的主機必須具備必要的軟件及證書。

服務(wù)器上的軟件:

  • tar

電腦上的軟件:

  • SSH(用于創(chuàng)建/刪除備份文件)
  • SCP(用于下載備份文件)
  • Terminal(例如gnome-terminal,用于運行所有命令)

所需信息

  • 服務(wù)器IP及SSH證書
  • 數(shù)據(jù)庫證書
  • 網(wǎng)站根目錄(以及你想在備份中加入或排除內(nèi)容的目錄)
  • 數(shù)據(jù)庫:MySQL、PostgreSQL或SQLite(如果你的網(wǎng)站使用其中一種)

備份創(chuàng)建的具體步驟

一旦將你的電腦與服務(wù)器相連接,你就可以快速地通過命令進(jìn)行網(wǎng)站備份。

通過SSH連接服務(wù)器:

SSH是Secure Shell的簡寫,通常用于遠(yuǎn)程命令的執(zhí)行。 

 

打開terminal,鍵入以下命令,通過SSH協(xié)議連入你的服務(wù)器:

 

在terminal中連上服務(wù)器后,你鍵入的每一條命令都在你的服務(wù)器上執(zhí)行。接下來,我們要在服務(wù)器上創(chuàng)建一個名為“backup(備份)”的新文件夾。只要不是公開的,你可以把這個文件夾放在任何地方。

如果你的web應(yīng)用根目錄為:/home/username/html,那么我們就能夠順利在 /home/username/中創(chuàng)建“backup(備份)”的文件夾。一旦備份傳輸?shù)搅穗娔X,就可以刪除服務(wù)器上的備份記錄。

如果你不知道自己的網(wǎng)站根目錄,可以在cPanel賬戶中找到該信息:

 

上圖中我們可以看到該網(wǎng)站的根目錄是:/home/ma658tvk。

在Linux/Mac操作系統(tǒng)中,你可以使用mkdir命令創(chuàng)建目錄。例如:

 

該命令能夠幫你在/home/username/中創(chuàng)建“backup”目錄。

在該文件夾中,我們已經(jīng)創(chuàng)建了4個子目錄:db、core、logs以及conf。

注意mkdir命令中的-p符號,該符號表示:在某目錄已經(jīng)存在但仍然按需創(chuàng)建主目錄的情況下不會報錯。

將整個應(yīng)用進(jìn)行備份的工作非常關(guān)鍵,包括數(shù)據(jù)庫轉(zhuǎn)儲文件、核心文件、插件以及媒體文件。如果你想更加細(xì)節(jié)化一些,還可以對服務(wù)器配置文件及日志進(jìn)行備份。在執(zhí)行取證分析時,備份數(shù)據(jù)就更是尤為重要了。

導(dǎo)出數(shù)據(jù)庫

我之所以熱衷于使用命令行工具是因為在進(jìn)行數(shù)據(jù)庫備份時都無需再用到其它附加工具。大多數(shù)的數(shù)據(jù)庫引擎都具備命令行功能,只需要拿到數(shù)據(jù)庫證書,整個過程簡單粗暴高效。

 

下面的命令將導(dǎo)出一個數(shù)據(jù)庫轉(zhuǎn)儲文件并將其放在:/home/username/backup/db/

如果你的網(wǎng)站采用的是MySQL,可運行以下命令:

 

若為PostgreSQL,則運行這個命令:

 

這些命令會用到用戶名密碼。輸入后(你的terminal中看不到這些字符)轉(zhuǎn)儲文件將存儲在事先準(zhǔn)備好的backup文件夾中。

如果網(wǎng)站用的是SQLite,那么你只需要復(fù)制該文件即可:

 

創(chuàng)建網(wǎng)站文件的Tar文件

現(xiàn)在我們要做的是壓縮網(wǎng)站核心文件(為了方便起見)。在你的服務(wù)器上安裝tar程序,并確定核心文件以及其它你想備份或不備份文件的具體位置。

我們再次假設(shè)你的網(wǎng)站存儲在:/home/username/html。那么使用以下命令創(chuàng)建tar文件:

 

如果你想涵蓋/home/username/html中的所有文件,那么上面這個命令就非常好用。但如果你不想包含全部呢?

假設(shè)你的網(wǎng)站架構(gòu)如下:

 

如果我們壓縮了整個目錄,那么緩存(cache)文件夾也會被備份。而緩存文件完全沒有必要備份,如果刪除這部分內(nèi)容,可以節(jié)省很多時間、節(jié)約帶寬。但如果使用tar命令,我們可以通過-exclude這一標(biāo)識將不需要備份的目錄排除。下面我們在排除緩存目錄的情況下對網(wǎng)站目錄進(jìn)行再次壓縮:

 

另外,名為core.tar的voilà – a .tar文件會存儲在/home/username/backup/core/中。你也可以一直使用-exclude命令對你不需要備份的內(nèi)容進(jìn)行排除。

可選:對配置或日志文件進(jìn)行備份

就個人經(jīng)驗來說,我已經(jīng)多次受益于配置和日志文件的備份了。比如,我已經(jīng)很多次忘記我的“httpd.conf”長啥樣了,所以每次我都通過查電腦上的備份來解決這個難題。我是一個很懶的人,但請諒解——這個習(xí)慣常常能幫上大忙,日志文件也是。

配置文件和日志文件沒有通用位置,但你可以在tar命令中添加多個位置。例如:

 

第一行末尾的“\”符號表示按“Enter”鍵時,terminal不執(zhí)行命令,而表示該命令含多行的意思。最后一行命令末尾不含“\”字符,表示terminal可以執(zhí)行命令。這樣,你就可以創(chuàng)建一個包含你系統(tǒng)不同文件夾中的配置/日志文件的.tar文件了。

只要你在備份的服務(wù)器中安裝了正確的軟件,恢復(fù)配置文件只會讓你對配置文件進(jìn)行復(fù)制。如果要在生產(chǎn)服務(wù)器中恢復(fù)配置文件,但軟件不同,恢復(fù)過程可能會發(fā)生很多錯誤。務(wù)必小心。

最終備份

 

創(chuàng)建最終的tar文件

到這里,我們已經(jīng)把/home/username/backup/文件夾下所需的文件都準(zhǔn)備好了,現(xiàn)在我們只需要創(chuàng)建.tar文件并把它下載到我們自己的電腦上即可。雖然我們也可以在不壓縮的情況下下載整個備份文件夾,但是我還是建議以單個壓縮文件的方式下載(更加保險、安全)。

 

該命令將創(chuàng)建一個名為“latest.backup.tar”的文件,包含所有的備份文件。在terminal中輸入“exit”就能斷開個人電腦與服務(wù)器的連接。

通過SCP下載文件

我們需要通過scp命令來下載latest.backup.tar這個文件:

 

該命令的作用就是從服務(wù)器上抓取該.tar文件,并將它下載到你電腦上“ /home/username/backups/domainname/”的文件夾,然后根據(jù)標(biāo)準(zhǔn)日期命令對該文件夾進(jìn)行重命名(如backup_20170730_142422)。

從服務(wù)器中刪除備份

現(xiàn)在網(wǎng)站備份已經(jīng)安全地躺在你的電腦里了,我們也就可以放心地刪除服務(wù)器上的備份記錄了。

首先,通過SSH重新登錄服務(wù)器,運行以下命令:

 

上面第一個命令的作用是刪除服務(wù)器上最后的tar文件,第二個命令用于幫助你從服務(wù)器遞歸地刪除備份文件夾。

警告!務(wù)必確保文件和文件夾路徑的準(zhǔn)確性,因為要想恢復(fù)通過命令行刪除的東西非常困難,而且恢復(fù)難度也會隨著時間的增加而增加。一旦某文件被刪除,該文件的所有鏈接均被破壞,操作系統(tǒng)也會隨時釋放該文件所使用的的區(qū)塊。再次聲明:務(wù)必確認(rèn)使用的路徑是正確的。

一旦你刪除了備份文件,就可以通過輸入exit退出服務(wù)器。

結(jié)論

整個網(wǎng)站備份過程完美完成!這不是一個完整的解決方案,但我想這是學(xué)習(xí)信息安全領(lǐng)域中備份技術(shù)的一個良好開端。 

責(zé)任編輯:龐桂玉 來源: 馬哥Linux運維
相關(guān)推薦

2017-09-07 15:00:34

2020-03-30 12:57:50

Linux命令行Markdown

2024-11-18 15:05:34

MySQL數(shù)據(jù)庫

2015-07-29 10:34:50

Linux系統(tǒng)命令行工具

2015-07-30 11:04:08

Linux命令行工具

2015-07-30 11:24:47

Linux 系統(tǒng)命令行工具

2009-12-09 09:25:52

Linux命令行svn命令

2019-12-10 10:03:18

Linux命令行工具

2010-06-01 19:14:53

SVN命令行

2019-10-10 16:13:55

WindowsLinuxWindows 10

2019-10-11 11:36:27

Windowscmd命令行工具

2010-04-26 15:26:13

Linux網(wǎng)絡(luò)配置

2009-08-11 09:58:22

Linux命令行Linux命令svn命令

2010-02-04 15:17:48

Linux wget

2018-05-15 08:40:40

Linux命令數(shù)學(xué)運算

2017-03-03 10:10:15

2019-08-27 10:32:01

Linux操作系統(tǒng)Windows

2009-08-06 20:14:16

linux命令行模式linux命令行修改系統(tǒng)時間

2010-05-17 15:41:26

2013-05-21 14:58:08

系統(tǒng)監(jiān)視glances開源
點贊
收藏

51CTO技術(shù)棧公眾號