Commit graph

12 commits

Author SHA1 Message Date
巴山夜语
79020abb1c
feat(systemctl): implement service manager initialization and command execution (#8380)
* feat(systemctl): 实现服务管理器初始化和命令执行

- 新增 systemctl 包,实现对 systemd、openrc 和 sysvinit 三种服务管理器的支持
- 添加服务状态检查、启动、停止、重启和启用/禁用功能
- 实现服务发现和智能服务名处理
- 添加配置文件查看功能
- 优化错误处理和日志记录

* refactor(system): 重构系统服务管理逻辑

- 引入 systemctl 工具包以统一处理系统服务
- 优化服务状态获取、配置文件路径解析等逻辑
- 重构 HostToolService 中的 GetToolStatus 方法
- 更新 DockerService、SettingService 等相关服务的处理方式
- 调整快照创建和恢复过程中的服务处理逻辑

* feat(utils): 添加目录复制功能并优化文件复制逻辑

- 新增 CopyDirs 函数,用于复制整个目录及其内容
- 添加对符号链接的复制支持
- 实现通用的 Copy 函数,根据文件类型自动选择 CopyFile 或 CopyDirs
- 在 CopyFile 函数中增加对源文件是目录的检查和错误提示

* refactortoolbox: 重构 Fail2ban 和 Pure-FTPd 的管理逻辑

- 优化了 Fail2ban 和 Pure-FTPd 的启动、停止、重启等操作的实现
- 改进了 Fail2ban 版本信息的获取方法
- 统一了错误处理和日志记录的格式
- 调整了部分导入的包,提高了代码的可维护性

* build: 禁用 CGO 以提高构建性能和兼容性

- 在 Linux 后端构建命令中添加 CGO_ENABLED=0 环境变量
- 此修改可以提高构建速度,并确保生成的二进制文件在没有 C 库依赖的环境中也能运行

* refactor(docker): 重构 Docker 服务的重启和操作逻辑

- 添加 isDockerSnapInstalled 函数来判断 Docker 是否通过 Snap 安装
- 在 OperateDocker 和 restartDocker 函数中增加对 Snap 安装的处理
- 移除未使用的 getDockerRestartCommand 函数

* fix(service): 优化快照恢复后的服务重启逻辑

- 在使用 systemd 管理服务时,增加 daemon-reload 操作以确保服务配置更新
- 重启 1panel 服务,以应用快照恢复的更改

* refactor(server): 支持非 systemd 系统的恢复操作

- 增加 isSystemd 函数判断系统是否为 systemd 类型
- 根据系统类型选择性地恢复服务文件
- 兼容 systemd 和非 systemd 系统的恢复流程

* fix(upgrade): 优化升级过程中的服务重启逻辑

- 移动服务重启逻辑到版本号更新之后,修复因提前重启导致的版本号未更新BUG。
- 在 systemctl 重启之前添加 daemon-reload 命令

---------

Co-authored-by: gcsong023 <gcsong023@users.noreply.github.com>
2025-04-17 10:26:13 +08:00
ssongliu
17ef66aa49
feat(init): add support for international language pack initialization (#7315) 2024-12-10 18:36:53 +08:00
John Bro
2f147dde13
fix: 容器部分操作动态修改执行命令 (#6750)
Refs #3242
2024-10-17 10:03:31 +00:00
ssongliu
3a72fc95d9
style: 处理代码警告 (#6183) 2024-08-20 03:38:47 +00:00
ssongliu
5f2cfe6e20
fix: 解决快照恢复失败的问题 (#5739)
Some checks failed
Build Test / build-linux-binary (push) Failing after -6m20s
Build / SonarCloud (push) Failing after -6m25s
sync2gitee / repo-sync (push) Failing after -6m26s
2024-07-10 04:09:24 +00:00
ssongliu
7e182d32a6
pref: 快照增加恢复前资源检查 (#5489)
Some checks failed
Build Test / build-linux-binary (push) Failing after -5m29s
Build / SonarCloud (push) Failing after -5m34s
sync2gitee / repo-sync (push) Failing after -5m28s
2024-06-18 10:08:54 +00:00
ssongliu
428743d600
fix: 解决不带密码压缩文件失败的问题 (#5296)
Some checks failed
Build / SonarCloud (push) Failing after 5s
Build Test / build-linux-binary (push) Failing after -4m59s
sync2gitee / repo-sync (push) Failing after 1s
Co-authored-by: ssonglius11 <ssonglius11@163.com>
2024-06-05 14:31:26 +08:00
John Bro
0182586869
feat: 压缩和解压缩 tar.gz 文件时支持设置压缩密码 (#5258) 2024-06-04 08:48:31 +00:00
ssongliu
cdbe24a523
fix: 修改升级等过程中复制方式 (#4402) 2024-04-06 14:32:10 +00:00
ssongliu
7784ee9575
fix: 解决快照恢复时校验 daemon.json 路径失败的问题 (#4205)
Refs #4206
2024-03-16 02:12:06 +00:00
ssongliu
71ca8016e1
fix: 解决命令执行超时未生效的问题 (#4070) 2024-03-05 10:06:08 +00:00
ssongliu
24f573f9fd
fix: 修改快照恢复逻辑 (#4031) 2024-03-01 13:51:34 +08:00