#備份資料服務的名稱
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...