基於時間戳的檔案備份指令碼
#!/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
#建立時間戳檔案,備份全部圖片
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
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell 備份檔案指令碼+自動清理指令碼
- 引用js、css檔案時加時間戳JSCSS時間戳
- 基於Linux指令碼,對日誌進行定時壓縮備份Linux指令碼
- ORACLE常用定時備份指令碼Oracle指令碼
- Linux系統配置檔案簡易shell備份指令碼Linux指令碼
- [20200313]windows顯示輸出時間戳指令碼.txtWindows時間戳指令碼
- 備份指令碼指令碼
- Mysql定時備份資料指令碼MySql指令碼
- 獲取時間戳,幾個時間點的時間戳時間戳
- mysql備份指令碼MySql指令碼
- ORACLE備份指令碼Oracle指令碼
- rman 備份指令碼指令碼
- 使用CukeTest建立指令碼自動化備份檔案到網盤指令碼
- linux mysql定時備份指令碼記錄LinuxMySql指令碼
- Json檔案轉換為Excel檔案!涉及讀檔案,時間戳轉化,寫文件JSONExcel時間戳
- 自動備份指令碼指令碼
- windows mysqldump備份指令碼WindowsMySql指令碼
- 分享Oracle Rman的備份指令碼Oracle指令碼
- MySQL時間戳、時間MySql時間戳
- Linux基楚操作指引【檔案改名、檔案備份、檔案刪除】Linux
- Java實現定時備份檔案教程Java
- Linux中檔案/檔案系統的壓縮、打包和備份總結(基於rhel7)Linux
- 兩個時間戳的時間差時間戳
- sql檔案備份SQL
- 自動定時備份 mysql 資料庫 的 shell 指令碼MySql資料庫指令碼
- PostgreSQL 併發控制機制(3):基於時間戳的併發控制SQL時間戳
- 兩套mysql備份指令碼MySql指令碼
- 資料庫備份指令碼資料庫指令碼
- expdp 邏輯備份指令碼指令碼
- 檢查備份情況的指令碼指令碼
- JavaScript 時間戳JavaScript時間戳
- kafka時間戳Kafka時間戳
- oracle 控制檔案及引數檔案何時自動備份Oracle
- mysql容器的定時備份指令碼,有二種方法,備份好後打包傳送到遠端備份主機MySql指令碼
- 【時間戳轉普通時間格式的方法】時間戳
- gitlab自動定時備份檔案,備份失敗傳送郵件Gitlab
- ODI基於源表時間戳欄位獲取增量資料時間戳
- 【DATAPUMP】Oracle資料泵定時備份刪除指令碼Oracle指令碼
- C# 時間戳轉時間C#時間戳