備份Server的資料2
學校有台nas,學校server上的資料,都是備份到它身上,3年前寫過這篇文章「備份Server的資料」,野人獻曝,再把它寫完整一點。
一、建立目錄
-
在server上「 / 」下建立個名為 backup_plog 的目錄
mkdir /backup_plog -
在nas上建立個目錄,例如也名為 backup_plog ,當然要把這目錄的使用者帳號密碼記起來,等一下會用到。
以上目錄名稱依個人喜好,我是以主機名來區分,例如另一台名為 video 的 server ,我的目錄名稱就是 backup_video,我這樣的區分,以便在nas上不同資料夾,放不同主機的備份資料。
二、將nas上的資料夾掛進 server 裡
-
我在 /root 下建立個 mountnas.sh 的檔案 ,記得要給這檔案 +x 的權限,最簡單的的方式就 chmod 700 /root/mountnas.sh
mountnas.sh 這檔案的內容
mount -t cifs //nas_ip/backup_plog /backup_plog -o username=nas帳號,password=密碼,codepage=cp950
-
當你去執行 ./root/mountnas.sh 後,在 nas 上的 backup_plog 這目錄已掛進server 了,你可以在server 下指令 df ,應該就可以看到結果了
-
三、讓 mountnas.sh 一開機就啟動
你可以在 /etc/rc.d/rc.local 這檔案裡,加上一行 /root/mountnas.sh 就可以了
四、寫個 backup.sh 的檔案,備份資料
我寫個 /root/backup.sh 的檔案,用來備份資料庫及各目錄的資料,內容如下
-
資料庫用 mysqldump 的方式,sql 檔案前再加上日期的參數,每天備份,這樣就會保留30天內的資料庫檔案了!如下圖
至於 cp -ru ,則是將各個目錄內的資料用複製的方式備份到 nas 上,cp 加上 -u 的參數,則是會只在 <來源> 檔案比目的地檔案新,或目的地檔案不存在時才進行複製
當然這有個小問題,若是 server 上某個檔案已被刪除了, nas 上的檔案還是會一直被保留著。所以也可以不要用 cp 複製的方式,用 tar 或 zip 的方式將整個目錄包起來,這看個人習慣了!以前我遇過老師原本只是要刪除某個gallery2電子相簿的目錄,卻不小心將自己相簿從根目錄刪除,十幾個相簿的照片就不見了,過了幾天才告訴我,所幸還有舊資料,所以很快就可以幫他復原了。
五、將 ./root/backup.sh 寫進 crontab 裡
例如在 /etc/crontab 裡加上一行
55 1 * * * root /root/backup.sh
這樣每天的 1點55分,就會自動去執行備份資料到nas上了。
以上就是我的server備份方式,當然啦!用 rsync 也是不錯的方式,可以參考 OLS3 的這一篇文章「備份的方法 3 : 使用 rsync (全自動網路備份法)」來實作。
- 【2015-09-13 Update】如何用rsync備份不同網域的Linux Server資料到Synology nas 裡

如何同步備份?
  作者 raid1 21 八月, 2012 20:49 [管理]網管人員最怕遇到「雷擊」
即使設了rsync異地備份,仍不免會損失一些資料
不知阿欣老師對「raid1」在linux系統的實作有研究嗎?
還是有什麼其他更好的方法,可以做到「同步」備份?
我學校的 Server 大都內建有 RAID卡,不過我都是設定 RAID5。
我的認知,RAID 是機器內對硬碟的保護。不管是做哪一種RAID,一旦任一顆硬碟故障,還是要換顆硬碟進去,沒換硬碟進去,那機器還是停擺的呀!
我現在的備份方式也是用 rsync 備份到 nas 去,若是擔心備份不完整,乾脆把rsync 執行的頻率加快。
上次我聽過的例子,某機器硬碟沒問題,卻是磁碟陣列卡壞了,所以也得等換了那張卡才能再上線。
晚了一點回覆,是因為近日在玩個新服務 owncloud,他就像是 Google 雲端硬碟或Dropbox 一樣的服務。
他也有 client 端的軟體,支援各種系統。應該是可以達到同步備份的功能。
目前我的server 是安裝在 CentOS,client 端我只在 Windows7 測試過(沒問題,可以同步)。因為學校那些需要備份的主機都是 CentOS ,而且都是文字介面,沒安裝圖形介面,所以就沒辦法測試使用Linux Clients 的同步軟體了!
一些改進
  作者 Johnny 10 八月, 2010 00:26 [管理]開機自動掛載的方式是用於一開機就能抓到連線的電腦
另一種也可以使用automount
就是/etc/auto.master和/etc/auto.misc的設定檔
再搭配板大的方式(For寫法&變數擬定)
壓縮換成7-zip
http://tonysanv.blogspot.com/2010/01/7-ziplinux.html
7z a -mx=[壓縮比] -t[類型] -v[分割大小] [檔名] [欲壓縮檔案]
範例 (flag與option間無空格)
將 verybigfile.ext 用zip格式壓縮成 archive.zip、每200M分割、用最高壓縮比(9最高,1最低)
7z a -mx=9 -tzip -v200m archive.zip verybigfile.ext
這樣就非常完美了
Johnny:
感謝您提供的方法,因為備份檔放在學校nas裡,空間足夠,就沒試過用7-zip了