大家好,這邊要為大家示範一個備份的小方法。
有在使用資料庫備份的使用者,相信對於mysqldump這個功能一定不陌生。
只要資料庫有適當的備份,就算系統有了嚴重的崩潰或是發生了意外事件造成產線或工作流程中斷,也可以盡可能地減少系統還沒上線這段期間的損失。
於是,自動備份就是個很好的選擇。但是在執行自動備份的時候,
若是發生資料庫斷線或是連線相關的問題的時候,mysqldump並不會跳出錯誤,還是會產生一個異常的備份檔,這個時候有可能就會覆蓋掉原本是正常的備份檔。
這邊要介紹一個使用批次檔來判斷備份出來的檔案是否為正確的小方法。
將這個批次檔放在備份程序前,就可以預先做判斷,確保異常時所產生的檔案不會覆蓋正常的檔案,也可以記錄何時發生系統異常。
::設定檔案位置
set name=x.xxx <==這裡打上要判斷的檔名
set file=%name%
::計算檔案大小
for /f “tokens=4” %%s in (‘dir /a-d/-c %file% ^| findstr /e %file%’) do (set size=%%s)
set /a KB=(%size%/1024)
set /a MB=(%size%/1024)/1024
::看檔案大小 <==可以不用顯示,用來檢查計算的方式有沒有錯誤
echo 檔案大小為:%KB% KB
echo 檔案大小為:%MB% MB
::判斷檔案大小來決定採取的措施
if /i %MB% LSS 5 (echo |>>errorlog.txt)
***這裡的方法是如果檔案小於5KB,就將相關訊息寫入errorlog中來記錄,在上面語法echo後可以輸入你想記錄的資訊,檔案大小或是日期等。
參考來源:
批次檔計算檔案大小