在linux中備份檔案我們用得最多的就是tar命令了,下面們一起來看結合ssh+tar實現檔案備份並且把備份的檔案下載到本地。
現在虛擬機器主機大部分都有自動備份功能,不過有時候不能全靠主機不是,如果主機被黑了,連備份檔案都沒法恢複,那就哭慘了,所以說靠人不如靠自己。今天 bKjia.c0m 教大家如何給自己的網站備份,這裡用 Hostgator 這個國外空間來講了。
備份一般分為兩部分,一部分是檔案備份,另外一部分是Database Backup。這裡先介紹如何備份檔案,想看Database Backup的請看:如何通過SSH的Mysqldump命令備份資料庫
先說檔案備份吧,一般虛擬機器主機都帶檔案管理系統,就拿 Hostgator 來說,裡邊有個 File Manager,雖然我們可以通過他來壓縮檔夾,然後用 FTP 工具來達成我們本地備份的目的,但是如果你的網站檔案過多,會造成假死的現象。所以 bKjia.c0m 還是不怎麼推薦用 CPANEL 裡邊的檔案管理系統來備份的。這裡講的是用 SSH 命令打包檔案。
首先確保你的空間已經開通 SSH 功能,如果沒有請聯絡空間商將此功能開啟,然後通過 Putty 串連我們的空間。輸入使用者名稱密碼,Putty 就會開啟一個類似於 CMD 命令列的視窗。然後我們用 TAR 或者 ZIP 命令來打包我們的網站檔案夾。
用 SSH 壓縮指定檔案夾的方法:
TAR 壓縮命令
| 代碼如下 |
複製代碼 |
tar -czvf bKjia.c0m.tar ./bKjia.c0m.net bKjia.c0m.tar 是壓縮檔名 ./bKjia.c0m.net 是需要壓縮的目標檔案夾
|
ZIP 壓縮命令
| 代碼如下 |
複製代碼 |
zip -r bKjia.c0m.zip bKjia.c0m.net bKjia.c0m.tar 是壓縮檔名 ./bKjia.c0m.net 是需要壓縮的目標檔案夾
|
用SSH解壓壓縮包的方法:
| 代碼如下 |
複製代碼 |
Tar 解壓 Tar 壓縮包命令 tar xvfz bKjia.c0m.tar unzip 解壓 zip 壓縮包命令 unzip bKjia.c0m.zip
|
OK了,這時候,你的資料庫已經備份完畢,直接用FTP工具拖到本機備份吧。
例,看個SSH的Mysqldump命令備份資料庫
首先確保你的空間已經開通 SSH 功能,如果沒有請聯絡空間商將此功能開啟,然後通過 Putty 串連我們的空間。輸入使用者名稱密碼,Putty 就會開啟一個類似於 CMD 命令列的視窗。然後我們用 TAR 或者 ZIP 命令來打包我們的網站檔案夾。
備份資料的過程:
| 代碼如下 |
複製代碼 |
| mysqldump -h mysql.forece.net -p mysql_dbname -u mysql_dbuser >bak.sql |
這裡的mysql.forece.net是您的資料庫伺服器地址,如果你資料庫沒有網域名稱的話,那麼就直接填寫 localhost 也可以,mysql_dbname是您的資料庫名稱,mysql_dbuser 是您的資料庫使用者名稱,bak.sql是你備份的資料庫的指令檔名稱(將來可用來恢複資料)。然後斷行符號,提示你輸入資料庫登陸密碼,輸入完密碼後斷行符號即可,Liunx下輸入密碼是不回顯的,所以你只管輸入,注意別錯了就行啦!
OK了,這時候,你的資料庫已經備份完畢,直接用FTP工具拖到本機備份吧。
匯入(恢複)資料的過程:
依然還是在之前SSH的命令列模式下,輸入以下命令進入資料庫:
| 代碼如下 |
複製代碼 |
mysql -h mysql.forece.net -p mysql_dbname -u mysql_dbuser
|
然後斷行符號,提示你輸入資料庫登陸密碼,輸入密碼後,斷行符號會出現MySQL操作提示符號,之後輸入下面的命令:
注意要先確認bak.sql這個檔案在目前的目錄下哦,沒問題後點擊 斷行符號,這是就開始恢複資料啦,耐心等待一會兒吧。。。