備份 校驗 刪除本地資料指令碼

2021-10-07 13:55:33 字數 2417 閱讀 8220

#備份資料服務的名稱

backup_server_name3=

"server3"

#資料保留時間,以天為單位

hold_time_min3=0

hold_time_max3=101

#備份檔案關鍵字

backup_word3=

"10002020"

#需要遷移備份資料的路徑

local_data_path3=

"/opt/server3/aaa"

#備份主機資訊,預設為xx.xx.xx.xx

backup_ip3=xx.xx.xx.xx

backup_name3=root

backup_path3=

"/backup/bbb"

begin3=

`date +"%y-%m-%d %h:%m:%s"

`echo

"********************==$backup_server_name3

$begin3 start up backup ***************=="

>>

$logfile

#遍歷深度限制,只遍歷到目錄層,不遍歷檔案,符合條件的目錄的絕對路徑寫到/tmp/10002020sourcedir

find

$local_data_path3 -maxdepth 1 -name "$backup_word3*" -mtime +$hold_time_min3 -mtime -$hold_time_max3

> /tmp/10002020sourcedir

#開始備份

find

$local_data_path3 -maxdepth 1 -name "$backup_word3*" -mtime +$hold_time_min3 -mtime -$hold_time_max3 -exec scp -r

$backup_ip3

:$backup_path3 \;

>>

$logfile

for i in

`cat /tmp/10002020sourcedir`

do#把符合條件的一條資料寫到/tmp/10002020sourcefile

echo

"$i"

> /tmp/10002020sourcefile

newfile=

`awk -f / '' /tmp/10002020sourcefile`

md5sum `

find $i -type f `

|awk''|

sort

> /tmp/10002020oldfilemd5 #原始檔md5值

num=

`cat /tmp/10002020oldfilemd5 |

wc -l`

#判斷目的目錄下是否有備份檔案

ssh$backup_ip3

"if [ \`

ls $backup_path3\/$newfile\`

>=1 ];then md5sum \`

find $backup_path3/$newfile -type f\`

|awk '' | sort > /tmp/10002020newfilemd5; fi "

#目的檔案md5值

k=0#按行迴圈對比原始檔md5和目的檔案md5

for(( j=

1; j<=$num;j++

)) do

oldmd5=

`awk

'nr=='

"$j"

' ' /tmp/10002020oldfilemd5`

newmd5=

`ssh $backup_ip3 "awk 'nr=='"$j"' ' /tmp/10002020newfilemd5"

` if

["$oldmd5"

=="$newmd5"];

then

let k++

fidoneif[

"$num"

=="$k"];

then

echo success

rm -rf $i

#刪除本地資料

else

echo

$i>>

$logfile

echo failure >>

$logfile

fidone

end3=

`date +"%y-%m-%d %h:%m:%s"

`echo

"********************==$backup_server_name3

$end3 end backup ***************=="

>>

$logfile

資料備份指令碼

backup 0.bat 啟動指令碼 backup 0.cmd 全備份backup 1.bat 啟動指令碼 backup 1.cmd 增量備份 delete.bat 刪除備份 ftp.bat ftp傳輸指令碼 myftp.txt 傳輸資料庫備份檔案 recover.bat 啟動指令碼 recover...

資料備份 Trilium 本地資料備份同步

預設的資料儲存位置 document.db 裡面包含了所有的筆記內容 config.ini 是軟體相關的設定,可以設定使用的埠,但是這個是歸屬於環境變數下面的,導致暫時不知道怎麼同時執行2個trilium backup 裡面是軟體自動備份的資料庫 log 日誌檔案 here s how the lo...

Mysql 資料備份指令碼

mysql 備份指令碼 crontab e 0 2 home mysql bak bak.sh thisday date g m d bakdir home mysql bak bak name bakdir exp thisday sql mysqldump default character s...