删除旧jar文件:del_old_jar_file.sh

背景:java项目往往一个大工程里分多个模块。gitlab发版java项目时,每次可能都发版不同模块。时间一长占用磁盘空间太大,删除旧jar文件时需要每个发版目录都确认一下,每个jar文件保留最后几次发版文件,方便回滚。基于此,该脚本诞生。
文件:del_old_jar_file.sh

  • jar_parent_dir:脚本内变量,指的是项目发布目录的上级目录,我这里示例中是固定的:/home1/java。若不一致可修改
  • 参数$1:脚本参数,指项目发布目录。比如gitlab发版到/home1/java/demo,该值就是demo
  • 特性:
    • 每个jar文件保留最后3次发版文件。若需,可修改脚本内lastn变量
    • 删除jar文件后,检查目录是否存在jar文件,存在则跳过,否则删除该目录
  • 使用:
    • del_old_jar_file.sh拷贝到/home1/java
    • chmod +x del_old_jar_file.sh
    • ./del_old_jar_file.sh demo
    • 以下为输出结果:
    [root@gp8bscefb0iZ java]# ./del_old_jar_file.sh demo
    clear dir: demo
    delete jar file: /home1/java/demo/java_#8703/daily-report-data-sync-1.0.0.jar
    delete jar file: /home1/java/demo/java_#8719/daily-report-data-sync-1.0.0.jar
    delete jar file: /home1/java/demo/java_#8720/daily-report-data-sync-1.0.0.jar
    delete jar file: /home1/java/demo/java_#7950/data-compatible-1.0.0.jar
    delete jar file: /home1/java/demo/java_#7955/data-compatible-1.0.0.jar
    delete jar file: /home1/java/demo/java_#7434/old-data-migration-1.0.0.jar
    delete jar file: /home1/java/demo/java_#7955/old-data-migration-1.0.0.jar
    删除目录: /home1/java/demo/java_#7434
    删除目录: /home1/java/demo/java_#7450
    删除目录: /home1/java/demo/java_#7950
    删除目录: /home1/java/demo/java_#7955
    删除目录: /home1/java/demo/java_#8027
    删除目录: /home1/java/demo/java_#8036
    删除目录: /home1/java/demo/java_#8703
    删除目录: /home1/java/demo/java_#8719
    删除目录: /home1/java/demo/java_#8720
    目录 /home1/java/demo/java_#8779 包含 .jar 文件,跳过删除
    删除目录: /home1/java/demo/java_#8957
    目录 /home1/java/demo/java_#9710 包含 .jar 文件,跳过删除
    目录 /home1/java/demo/java_#9711 包含 .jar 文件,跳过删除
    目录 /home1/java/demo/java_#9786 包含 .jar 文件,跳过删除
    目录 /home1/java/demo/java_#9794 包含 .jar 文件,跳过删除
    目录 /home1/java/demo/java_#9795 包含 .jar 文件,跳过删除
    删除目录: /home1/java/demo/java_#9936
    [root@gp8bscefb0iZ java]#
    

版本

2024-08-07

  • 新增:删除旧jar文件:del_old_jar_file.sh

2024-08-05

  • 新增:追踪进程:tracep

2024-08-01

  • cdp支持检索jar包名称。参考arthas脚本as.sh中参数解析。
    • 示例:cdp demo-test # 若只有一个进程则直接进入相应目录;若多个进程则列出进程选项,输入相应序号并回车后进入相应目录
    • 示例:cdp -v demo-test # 若只有一个进程则直接进入相应目录;若多个进程则列出进程选项(显示启动参数,参考jps -lv),输入相应序号并回车后进入相应目录
    • 示例:cdp <pid> # 利用jps查进程,并不是直接进入相应目录。若只有一个进程则直接进入相应目录;若多个进程则列出进程选项,输入相应序号并回车后进入相应目录
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容