基於時間戳的檔案備份指令碼

wang_0720發表於2013-11-05
#!/bin/bash
images()
{
SPATH2=/root/tomcat/
DPATH2=/home/databack/tomcat
REMOTEHOST=10.90.2.67
TODAY_TIME=$(date +%F)
scp -p -r $REMOTEHOST:$SPATH2/images $DPATH2 > /dev/null 2>&1
#利用時間戳檔案判斷是全備還是增量備份
if [ ! -f /root/time/timeimages.key ];then
#建立時間戳檔案,備份全部圖片
 
       touch /root/time/timeimages.key
        cd $DPATH2/images
#查詢所有非目錄檔案
        find ./ ! -type d >file.list
        mkdir  $DPATH2/full_$TODAY_TIME
#從file.list中讀取檔名並打包,再解包到指定目錄下
        tar -T file.list -c |tar -x -C $DPATH2/full_$TODAY_TIME
        sed -i  "s/$/$TODAY_TIME/" file.list
   else
        cd $DPATH2/images
#查詢自最近一次全備以來的所有非目錄文,進行一次增量備份
        find ./ -newer /root/time/timeimages.key ! -type d > file.list.tmp
        mkdir  $DPATH2/$TODAY_TIME
        tar -c -T file.list.tmp |tar -x -C $DPATH2/$TODAY_TIME
fi
#刪除臨時檔案
rm -rf $DPATH2/images
}
#==========================================
images

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27181165/viewspace-775752/,如需轉載,請註明出處,否則將追究法律責任。

相關文章