加速Java应用开发5—用脚本自动化日常操作

开发 后端 自动化
一些需要固定周期执行的命令/脚本,可以使用定时调度,如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;如果使用自动化脚本,只需要一句话即可

原文链接:http://jinnianshilongnian.iteye.com/blog/1896755

责任编辑:陈四芳 来源: 开涛的博客
相关推荐

2022-04-08 09:05:53

Arch LinuxLinux

2009-09-22 11:58:00

ibmdwWeb

2017-01-06 10:54:03

AndroidiOSJenkins

2010-07-15 13:21:46

Perl多进程

2022-10-09 14:50:44

Python脚本

2011-08-25 09:33:25

MySQL运维

2014-03-11 11:10:10

PowerShell自动化脚本

2021-03-02 10:55:07

云计算自动化云应用

2021-03-11 14:23:17

云计算混合云工具

2011-07-15 13:07:24

活动目录ADSI

2024-01-11 10:16:46

Python开发

2021-07-14 13:11:02

papermillJupyterPython

2021-06-03 10:32:27

自动化应用智能家居IOT

2022-10-12 15:23:57

边缘计算NTT5G

2015-05-28 10:46:22

shellBackupdatabase

2011-05-31 17:35:45

测试自动化QTP

2016-12-20 16:47:25

Hadoop部署脚本

2014-03-11 11:03:17

自动化脚本PowerShell

2009-12-15 17:28:11

Ruby自动化脚本框架

2017-03-03 09:10:09

点赞
收藏

51CTO技术栈公众号