2014年4月27日 星期日

利用7zip做自動壓縮...

今天在弄MSSQL資料庫的備份,發現資料庫備份的磁碟已經滿了,因為每天的備份檔大概是6G,
所以想說透過7-zip來做壓縮
因為每天備份檔產生的格式以日期為主,如TTUDB_db_201404280330.BAK (0330是因為執行備份是早上3:30),
所需步驟如下:
1.先安裝7.zip
2.撰寫以下的bat檔,
先說明一下7.zip的參數格式:
 a 是說要執行壓縮 ,
-tzip 是說要壓成zip,如果要壓成7z 就要寫成-t7z,
-mx=9 是說壓縮比例,不寫的話預設是5,數字越高壓得越小,最大到9
寫的格式大概是 7.zip程式位置 參數 產生的壓縮檔 要壓縮的資料來源
---------------------------------------------------------------------------------------------
#以下是壓縮的bat內容:
#先壓縮後再把原來的檔案刪除以節省硬碟空間
set dd=%date:~8,2%
set dm=%date:~5,2%
set dy=%date:~0,4%
set zipdate=%dy%%dm%%dd%

"C:\Program Files\7-Zip\7z.exe" a -tzip -m9 "E:\TTUDB_Backup\TTUDB_db_%zipdate%.7z" "E:\TTUDB_Backup\TTUDB_db_%zipdate%0330.BAK"

del "E:\TTUDB_Backup\TTUDB_db_%zipdate%0330.BAK"
---------------------------------------------------------------------------------------------
如此在透過Windows的排程去每天執行(資料庫備份檔產生是上午3:30,產生備份檔我抓40分鐘時間,為保險起見,我執行壓縮是上午4:50 ),這樣就可以省下許多的硬碟空間...

1 則留言:

  1. 請問一下,我的MSSQL是產生BPM_backup_2015_11_30_020010_0668117.bak
    那只要抓取前面的年月日做判斷,後面省略要在語法增加甚麼字眼
    謝謝?

    回覆刪除