批處理檔案備份資料庫表

2021-08-14 02:11:32 字數 1655 閱讀 6425

最近在定時備份mysql資料庫時使用到了批處理檔案進行定時匯出,並儲存為sql指令碼。之所以沒有採用資料庫備份計畫,是因為我要備份資料庫中的指定的兩個表,並且不是整表備份,是根據條件進行篩選後備份。

原理是呼叫mysql的mysqldump.exe。

此處是在批處理裡面定義函式backup進行備份,這裡要分別備份三個門店的資料並且單獨存放。

call:backup 1019

call:backup 9001

call:backup 001。

函式內容示例:

:backup

md 「d:\backup\%1\%1」

「c:\program files\mysql\mysql server 5.7\bin\mysqldump.exe」 –opt -h%i% -u%u% -p%p% –skip-lock-tables %d% hs_esl -w」 store_id=(select id from hs_store where store_code=%1)」 >d:/backup/%1/%1/hs_esl.sql

「c:\program files\mysql\mysql server 5.7\bin\mysqldump.exe」 –opt -h%i% -u%u% -p%p% –skip-lock-tables %d% hs_goods_esl_pr -w」 store_id=(select id from hs_store where store_code=%1)」 >d:/backup/%1/%1/hs_goods_esl_pr.sql

goto:eof

最後將寫好的批處理檔案加入windows系統的任務計畫程式中。win10系統為windows管理工具》任務計畫程式》任務計畫程式庫》新建資料夾》建立任務。在建立任務介面錄入名稱,新建觸發器,新建操作就可以了。

@echo off

set i=127.0.0.1

set u=root

set p=123456

set d=dbname

echo.going to execute mydosfunc with different arguments

call:backup 1019

call:backup 9001

call:backup 001

@exit

:backup

md 「d:\backup\%1\%1」

「c:\program files\mysql\mysql server 5.7\bin\mysqldump.exe」 –opt -h%i% -u%u% -p%p% –skip-lock-tables %d% hs_esl -w」 store_id=(select id from hs_store where store_code=%1)」 >d:/backup/%1/%1/hs_esl.sql

「c:\program files\mysql\mysql server 5.7\bin\mysqldump.exe」 –opt -h%i% -u%u% -p%p% –skip-lock-tables %d% hs_goods_esl_pr -w」 store_id=(select id from hs_store where store_code=%1)」 >d:/backup/%1/%1/hs_goods_esl_pr.sql

goto:eof

「`

mysql批處理 備份資料庫 壓縮檔案

批處理備份資料庫,並壓縮備份後的檔案,但是還是不能定時備份 echo off remrem c program files winrar 需要放到 path 下,才能呼叫rar cli工具 remrem 跳轉到工作目錄下 set dump command c program files mysql ...

使用批處理 定時備份資料庫

我做的乙個系統需要定時的備份資料庫資料,用的是批處理實現 需求 每月23號0點生成,資料庫備份資料dmp檔案,如果目錄中有new.dmp 改名為old.dmp,然後生成新的new.dmp 實現 1 backup.bat檔案 if exist c new.dmp goto new goto expor...

bat批處理檔案 壓縮備份

1.壓縮指定的部分檔案 echo off set year date 0,4 set month date 5,2 set day date 8,2 set curdate year month day for i in d logs logs omsadmin.2016 month log do ...