Linux管理脚本

重复文件目录分析及删除

1
wget -qO- https://haies.cn/assets/deduplicate.sh

递归分析指定目录下的重复文件和目录,根据用户选择执行删除或仅记录日志。

1
deduplicate [-d] dir1 [dir2 ...]
  • -d:启用删除模式,不添加时仅记录日志
  • dir1 dir2 ...:待分析的目录路径(绝对或相对路径,至少指定一个)

每个目录独立处理并生成日志文件。


跨平台文件和目录名称有效性检测

1
wget -qO- https://haies.cn/assets/checkname.js

递归分析指定目录下的重复文件和目录,根据用户选择执行删除或仅记录日志。

1
deduplicate [-d] dir1 [dir2 ...]
  • -d:启用删除模式,不添加时仅记录日志
  • dir1 dir2 ...:待分析的目录路径(绝对或相对路径,至少指定一个)

每个目录独立处理并生成日志文件。


单目录智能压缩解压

1
wget -qO- https://haies.cn/assets/tar_single.sh

大容量单目录分卷压缩、解压工具。

1
./tar_single.sh -[操作方式][压缩算法] [操作对象]
  • 操作方式c创建、x解压、t测试
  • 压缩算法z gzip(默认)、s zstd(推荐)、o xz(高压缩比)
1
2
3
4
5
6
7
8
9
10
# 创建压缩包
./tar_single.sh -cz /path/to/data # gzip
./tar_single.sh -cs /path/to/data # zstd
./tar_single.sh -co /path/to/data # xz

# 解压压缩包(自动检测格式)
./tar_single.sh -x /path/to/archive_dir

# 测试完整性(自动检测格式)
./tar_single.sh -t /path/to/archive_dir

存档批量压缩

1
wget -qO- https://haies.cn/assets/tar_batch.sh

智能压缩文件数量较多的目录,自动根据深度和文件数量应用压缩规则,排除文档、图片、视频、音频等类型,适合日志目录、临时文件等大量小文件场景。

1
./tar_batch.sh [目标目录]
  • 不指定目录时默认处理脚本所在目录
  • 处理深度 3-5 级,按从浅到深顺序
1
2
./tar_batch.sh              # 压缩当前目录
./tar_batch.sh /path/to/your/data # 压缩指定目录

执行后生成:单卷包目录名.tar.gz或多卷包目录名_archive/文件夹。终端显示压缩进度,生成带时间戳的日志文件。


SVN服务器端工具

1
wget -qO- https://haies.cn/assets/svn_server_tool.sh

在服务器端直接查看和统计 SVN 代码仓库信息,无需通过客户端连接。

1
./svn_server_tool.sh <功能> <仓库路径> [目录/文件路径]
  • 功能参数ls列出目录、log查看历史、stat统计提交
  • 仓库路径:SVN 仓库物理路径,如/var/svn/repos/myproject
  • 目标路径ls为可选,logstat为必填(仓库内相对路径)
1
2
3
4
./svn_server_tool.sh ls /var/svn/repos/myproject
./svn_server_tool.sh ls /var/svn/repos/myproject /trunk/src
./svn_server_tool.sh log /var/svn/repos/myproject /trunk/src
./svn_server_tool.sh stat /var/svn/repos/myproject /trunk/src/main.java