项目简介
gpm(golang process manager)是 Go 语言版本的进程管理工具,由 gpmd(管理进程)和 gpm(客户端工具)两部分组成。借助 Go 优秀的跨平台能力,gpm 支持 mac、linux、windows 三种平台,可实现对服务的全方位管理及相关操作。
项目的主要特性和功能
- 服务全生命周期管理:支持服务的创建、安装、删除、启动、停止、重启、升级、版本回滚等操作,确保服务的正常运行与灵活管理。
- 日志管理:对服务日志进行监听、切分以及过期清理,方便用户对服务运行情况进行跟踪和分析。
- FTP 功能:可查看远程目录结构,实现文件的上传和下载,还能远程执行命令,提升远程操作的便捷性。
- 跨平台支持:能够在 mac、linux、windows 三个平台上一致运行,满足不同用户的使用需求。
安装使用步骤
安装
解压后执行命令:
shell
$ ./gpm deploy
gpmd 相关服务操作
- 启动 gpmd:
bash $ gpm run
- 停止 gpmd:
shell $ gpm shutdown
- 查看 gpmd 信息:
shell $ gpm info -o wide
支持-o wide|json|yaml
三种格式输出。 - 检测 gpmd 状态:
shell $ gpm health
- gpmd 升级:
本地升级:
shell $ ./linux/gpm update
远程升级:shell $ ./linux/gpm --host 192.168.1.10:33700 --package ./gpm
服务操作
- 创建压缩包:
shell $ gpm tar --name /tmp/test.tar.gz --target /opt/test/pp/bin
- 安装服务:
shell $ gpm install --host 192.168.1.10:33700 --package /tmp/test.tar.gz --name test --dir /opt/test --bin /opt/test/bin/test --auto-restart --version v1.0.0
- 查看所有服务:
shell $ gpm list
- 查看服务详细信息:
shell $ gpm get --name test
支持-o wide|json|yaml
三种格式输出。 - 启动、停止、重启服务:
shell $ gpm start --name test $ gpm stop --name test $ gpm reboot --name test
- 创建服务:
shell $ gpm create --name gtest --dir /opt/test --bin /opt/test/bin/test --auto-restart --version v1.0.0
- 升级服务:
shell $ gpm upgrade --name test --package /tmp/test.tar.gz --version v2.0.0
- 查看服务的历史版本:
shell $ gpm version --name test
- 版本回滚:
shell $ gpm rollback --name test --revision v1.2.8
- 修改服务参数:
shell $ gpm edit --name test --env "a=b"
- 查看服务日志:
shell $ gpm tail --name test
添加-f
选项可监听日志变化。 - 删除服务:
shell $ gpm delete --name test
其他命令
- 查看远程文件系统信息:
shell $ gpm ls --path /tmp/san/
- 执行远程命令:
shell $ go run cmd/gpm/main.go --host 192.168.3.111:33700 exec --cmd "ls" --A "/tmp/san"
- 上传文件:
shell $ gpm --host 192.168.3.111:33700 push --src /tmp/1.txt --dst /tmp/1.txt
- 下载文件:
shell $ gpm pull --src /tmp/1.txt --dst /tmp/11.txt
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】