自動刪除備份套件

這是最近正在進行的一個小課題,主要是撰寫出來協助管理Linux的套件,主要的功能就是用來設定如何的條件下可以去清除已經過期的備份檔,並且為了能夠在不同平台上執行,這次選擇用java來撰寫,不過因為實在很久沒寫java了進度有點慢。

主要使用的開發工具為
  • NetBeans IDE 7.0.1
  • Eclipse IDE for Java Developers

這個工具本身是提供給即使沒有安裝桌面系統也可以執行的套件,所以主要都是執行在終端機上,但是還是有提供一點視窗介面,例如設定檔的產生便有提供一個圖形介面來幫助設定這個套件。

下圖是在 Ubuntu 10.04 GNOME桌面環境下執行
這是在vista執行的畫面
這是NetBeans內定使用的介面


以下是目前最新的ReadMe.txt的內容

/***
		程式名稱: AutoDeleteBackup
		程式版本: v1.1.0 Alpha1
		最後更新: 2011/08/29 14:56
		
		程式作者: 劉邦尉 (神川小羽)
		作者網誌: http://pbtwnet.blogspot.com/

		程式用途: 用來幫助刪除長期使用例如tar指令累積下的備份檔

 ***/
 
/*** 編譯或改寫程式 ***/
這個程式本身主要是透過其它的方式來運行,通常是使用系統排程,當然您也可以直接使用
java指令執行,這個程式本身是使用Java jdk 1.6 編譯,需要執行環境Java JRE 1.6 並且
也可以執行在Linux上的openJDK

如果您要自己編譯程式碼請在編譯的時候加入參數 encoding UTF-8 來編譯,例如
javac -encoding UTF-8 *.java
但是建議如果您要改寫這個程式請使用eclipse會比較方便,將下載下來的
AutoDeleteBackup-v*.*.*.zip 解壓縮,開啟eclipse後在
檔案>>匯入>>General>>匯入現有的專案至工作區
將路徑選到解壓後的資料夾並勾選將專案複製到工作區的方塊,專案匯入後請在執行選單上
設定執行配置在Arguments這個分頁中加入程式引數 trymode 即可執行,但為了順利執行,
您應該先在執行前編輯這個程式的設定檔案還有log4j的設定檔



*** 安裝以及執行 ***/
AutoDeleteBackup-v*.*.*.zip 解壓縮,複製資料夾到你想要放置的位置, 放在root的家
目錄下是不錯的選擇,畢竟要刪除備份的檔案通常需要root權限,tar指令包裝通常都是用
root的權限操作的

將
log4j.properties.Default
複製新檔案為名稱(複製新檔案)
log4j.properties

編輯 log4j.properties

找到並設定這個參數(必須是絕對路徑,不然在排程運行的時候沒辦法得到正確位置)
log4j.appender.logfile.File=AutoDeleteBackup.log

你可以改為例如(假設你設安裝在root的目錄)
log4j.appender.logfile.File=/root/AutoDeleteBackup/AutoDeleteBackup.log

微軟的平台則必須注意斜線例如
log4j.appender.logfile.File=C:\\Users\\root\\AutoDeleteBackup\\AutoDeleteBackup.log


接下來將
AutoDeleteBackup.conf.xml.Default
複製新檔案為名稱(複製新檔案)
AutoDeleteBackup.conf.xml



這個程式主要執行的方式指令為 
java -jar [主程式路徑] [執行模式]
不含組態檔路徑的執行模式有三種 version setconfig showlog
java -jar [主程式路徑] (version|setconfig|showlog)

或

java -jar [主程式路徑] [執行模式] [組態檔路徑]
含組態檔路徑的執行模式有以下三種
trymode delmode search
java -jar [主程式路徑] (trymode|delmode|search) [組態檔路徑]

測試執行
java -jar 絕對路徑/AutoDeleteBackup.jar trymode 絕對路徑/AutoDeleteBackup.conf.xml




最後的步驟就是把run.sh或run.cmd設定到系統排程的
ln -s /????/run.sh /etc/cron.daily/run.sh


*** 版本資訊 ***/
----------------------------
2011/??/?? v1.1.0
	修改ReadMe.txt的格式,使其可以在微軟平台下的編輯器開啟時可以正確分行
	這個程式原本是先在linux上撰寫的,所以分行符號不同,不過其他包含程式檔案
	等都還是會保持原本的格式,另外也撰寫更詳細的內容在這ReadMe.txt檔案。
	將testmode改成trymode 這樣的名稱比較合理
	增加一檔案"Export.txt"是給我備忘匯出新版要注意的地方,與使用者無關。


2011/08/16 v1.0.0
	第一次發佈