站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

Folder-分別備份指定目錄下子目錄

前言

簡單說因為要定期備份某個目錄下所有子目錄,但前提是必須把所有子目錄都獨立成一個壓縮檔儲存而不是上頭母目錄單一個檔案,因此這個 Script 就產生了。請注意:以下 Script 只適合我的環境,若您取用請自行調整,恕不負損壞之責。

實作環境

Script 功能說明

webbk.sh 達成如下需求

Script 內容說明

備份所有虛擬主機目錄 webbk.sh Script 內容如下

 #!/bin/sh
 #$Id: webbk.sh,v 0.1 2009/9/10 weithenn Exp $
 #Backup all web hosting (/home/web/) folder Script
 TODAY=`date +%Y%m%d`
 WEBDIR="/home/web"
 BKDIR="/home/backup/web"
 for web in `ls -l ${WEBDIR} | awk '{print $9}' | grep .`; do
     echo "Backup ${web} Web Site!!"
     cd ${BKDIR}
     tar zcvfP ${TODAY}-${web}.tgz ${WEBDIR}/${web}
 done
 echo "All webhosting sites backup complete!!"

所以假設在 /home/web 下有 abc.com.tw、def.com.tw、xyz.com.tw 這三個存放不同虛擬主機的目錄,那執行上述 Script 後會產生三個壓縮檔於指定的目錄下

 # ls -l /home/backup/web/
 -rw-r--r--  1 root  wheel  5988957  9 10 10:48 20090910-abc.com.tw.tgz
 -rw-r--r--  1 root  wheel  3261466  9 10 10:48 20090910-def.com.tw.tgz
 -rw-r--r--  1 root  wheel  9889577  9 10 10:48 20090910-xyz.com.tw.tgz

Me FAQ

Q1.備份時出現 tar: Removing leading '/' from member names 錯誤訊息?

Error Meaage:

使用此 Shell Script 備份時雖然備份成功但在備份時會出現如下錯誤訊息

 tar: Removing leading '/' from member names

Ans:

這個錯誤訊息是使用 tar 配合絕對路徑後有時會出現的問題,加上參數 P 即可解決。

Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com