加速Java應用開發5—用腳本自動化日常操作
作者:jinnianshilongnian
一些需要固定周期執行的命令/腳本,可以使用定時調度,如linux的crontab定時調度,如典型的數據庫備份、清理垃圾文件、壓縮及刪除過期的日志等等。
在日常開發時,我經常會遇到如下問題:
- 查看某個用戶的某些操作信息(不需要界面,只需要根據固定條件查數據,就是看一下);
- 需要安裝/部署jar包到本地倉庫/遠程倉庫;
- 需要release maven項目(即發布項目的新版本);
- 在測試時,經常需要重建數據庫和數據;
- 在不同的環境中安裝同一個maven項目;
- 部署并運行maven項目;
- 備份數據庫;
- 根據系統日志等做數據分析:如活躍用戶、是否存在異常IP、某個管理員的操作歷史等等;
- 監控服務器運行狀態并告警;
- 清理系統的垃圾文件;
- 壓縮日志及刪除過期的日志(如只存儲最近3個月的日志);
等等…………
對于如上的一些操作因為是經常使用的一些功能,我們應該使用模板+命令/腳本自動化來解決,而不是每次重新寫一個,即:
- 建一個命令文件,存儲一些經常使用的命令(因為有些命令可能個把月才用一次,記不住啊),這樣下次遇到時把命令復制出來,改一下可變的地方直接運行即可;比如maven中jar包的安裝:mvn install:install-file -DgroupId=* -DartifactId=* -Dversion=* -Dpackaging=jar -Dfile=*
- 對于一些需要按步驟執行的操作,可以使用一個批處理文件來存儲,然后下次只需要執行批處理即可,可變部分使用命令行參數傳入即可。
其實如上也是使用了模板的思想,把一些不變的但常用的命令集中存儲或腳本化,下次遇到相同問題時,只需要把命令或腳本復制下執行一下即可,可變的部分通過參數傳入。
如果是一些需要固定周期執行的命令/腳本,可以使用定時調度,如linux的crontab定時調度,如典型的數據庫備份、清理垃圾文件、壓縮及刪除過期的日志等等。
很多人可能會覺得命令比可視化操作要慢,這太絕對化了,任何東西都是相對的,比如:
- 命令在命令行中,可以使用上下箭頭查找并執行,如果是反復執行的話,可能***次輸入命令是慢的,但是如果要反復執行呢?(有朋友會說,那我使用快捷鍵呢?這個不在討論之列,此處只是討論命令和可視化窗口操作)
- 對于一些任務,如maven化web項目,需要:1、下載***的代碼;2、打包;3、部署到tomcat;4、重啟tomcat;如果使用自動化腳本,只需要一句話即可
責任編輯:陳四芳
來源:
開濤的博客