Linux
主機備份Basic
WWW+MySQL
這份文件說的不多,主要是講WWW跟MySQL的備份及還原。
所以是Basic版 :D
Table Of Contents
1.備份前
我要會什麼、知道什麼
返回索引
1.1
要備份的檔案有?
要備份的檔案有哪些?一般而言要視系統所執行的服務及備份的完整度而定
依學校的主機所執行的服務有:
1.1.1
WWW
WWW
的服務主要是提供網頁的服務,因此備份網頁是這個部份的重點,而且備份網頁又可以分成主網站與一般使用者網頁的備份
一
般網頁的放置路徑為:/var/www/html;CGI程式的路徑為:
/var/www/cgi-bin
因此,備份主網站一般就是備份/var/www這個資料夾,是最快的方式。
一
般使用者網頁,都是位於/home/使用者名稱/public_html裡底下,所
以一般備份都是將整個/home打包起來
1.1.2
MySQL資料庫
MySQL
資料庫的檔案一般是位於/var/lib/mysql 底下
如果ls -al來看的話,就大概是像這樣子,在底下目錄的名稱就是在MySQL中資料庫的名稱,如果想要針對某一個資料庫作備份的話
就是直接對它作打包的動作。
drwx--x--x 2 mysql
mysql 4096 11月 3
03:43 mysql/
drwx------ 2 mysql
mysql 4096 1月 14
18:06 plog/
drwx------ 2 mysql
mysql 4096 11月 25
2003 school/
drwx------ 2 mysql
mysql 4096 12月 2
21:41 schoolboard/
不過一般的備份還是以所有的資料庫來備份居多,因此要對整個的資料庫備份,就是對/var/lib/mysql這個目錄作打包的動作。
1.2
怎麼打包?包完了要怎麼開?
打包,打包.....一直出現,怎麼樣才能打好包回家睡覺呢?
打
包起手式: tar
zcvf 備份目的檔案名稱.tar.gz 備份的來源資料夾
再舉一些例子
tar zcvf
myfile.tar.gz myfiles/
tar zcvf
yourfile-2005-01-02.tar.gz mydocment/
tar zcvf testfile.tar.gz
/home/test/files
tar zcvf /tmp/ok.tar.gz
/home/test
打完了包,要解開包裝囉
解
包裝起手式:tar xvzf 檔案名稱
例子:tar xvzf myfile.tar.gz
出來的位置就是在你的所在的目錄底下囉。
如果你原來是將/var/www/html這個目錄打包起來,那如果你在/root下解開的話就會變成
/root/var/www/html這樣子的路徑。
上面的例子,應該滿清楚了,如果不夠的話可以再去問google大神 :p
ref.
1.3
怎麼傳到別部主機?要怎麼從別部主機傳回來?
怎麼傳到別部主機? 用磁片? 用光碟? 用FTP就好了
FTP起手第一式 : ncftp -u
username hostname (登入FTP)
實例:ncftp -u jacky 163.23.100.188
第二式: mput filename (上傳檔案)
實例:mput file.tar.gz
第三式:bye (離開)
什麼???就樣子,沒錯。
這樣子就可以傳到別部主機了呀
那要怎麼從別部主機傳回來呀?
FTP起手第一式 : ncftp -u
username hostname (登入FTP)
實例:ncftp -u jacky 163.23.100.188
第二式: ls (看看遠端主機上有那些目錄、檔案)
第三式:mget file.tar.gz
第四式:bye (離開)
2.該怎麼
作
返回
索引
2.1
開始打包各個檔案
接下來我們不多說廢話,直接衝了
假設我用root登入了後,我所在的目錄就是/root這個目錄底下,請先了解目前的所在地,如果忘了,可以用pwd (print work
dir)來看
2.1.1
打包www的主網站目錄
service
httpd stop
(先將WWW服務關閉)
tar zcvf
www-bak-2005-01-26.tar.gz
/var/www/
service http start (打包完後再啟動)
2.1.2
打包MySQL資料庫
service
mysql stop (先將MySQL服務關閉)
tar zcvf sql-bak-2005-01-26.tar.gz
/var/lib/mysql
service mysql restart (打包完後再啟動)
2.2
上傳至別台/遠方主機
ncftp -u username 163.23.100.199
mput www-bak-2005-01-26.tar.gz
mput sql-bak-2005-01-26.tar.gz
bye
上面就是最簡單的備份方式了。
3.該怎麼
還原
返回
索引
3.1
將欲還原的服務先關閉
service httpd stop
service mysql stop
3.2
抓下遠端主機上的檔案
ncftp -u username 163.23.100.199
mget www-bak-2005-01-26.tar.gz
mget sql-bak-2005-01-26.tar.gz
exit
3.3
解開打包的檔案
配合打包時的路徑都是用完整路徑
cd / (所以要先cd / 移至根目錄)
tar xvzf www-bak-2005-01-26.tar.gz
tar xzvf sql-bak-2005-01-26.tar.gz
3.4
重新啟動服務
service httpd start
service mysql start
4.網路資
源
返回
索引
鳥哥的私房菜:http://linux.vbird.org
台南網管技術文件集:http://linux.tnc.edu.tw/techdoc/