首页
/ SSHsync:跨服务器命令执行与文件同步的最佳实践

SSHsync:跨服务器命令执行与文件同步的最佳实践

2025-05-20 21:36:57作者:苗圣禹Peter

1. 项目介绍

SSHttpsync 是一个快速、轻量级的命令行工具,它允许用户通过 SSH 协议在多个远程服务器上运行 shell 命令。它支持同时执行命令,适用于系统管理员、开发人员以及自动化工作流程。SSHttpsync 使用 asyncssh 进行 SSH 连接,并且能够处理基于 SSH 别名的配置,使得操作更为简便。

2. 项目快速启动

首先,确保您的系统中安装了 Python 3.10 或更高版本。

安装 SSHsync

通过 pip 命令安装 SSHsync:

pip install sshsync

或者,如果您希望手动安装:

git clone https://github.com/Blackmamoth/sshsync.git
cd sshsync
pipx install .

配置 SSH

确保您的 ~/.ssh/config 文件中配置了所需的 SSH 别名和相应的连接详情。

初始化 SSHsync 配置

运行以下命令以同步未分组的 hosts 并更新配置:

sshsync sync

3. 应用案例和最佳实践

执行命令

在所有服务器上执行命令

sshsync all "df -h"

在特定组的服务器上执行命令

sshsync group db-servers "sudo systemctl restart postgresql"

干运行(预览命令)

sshsync all --dry-run "sudo apt update && sudo apt upgrade -y"

文件同步

推送文件到远程服务器

sshsync push --all ./config.yml /etc/app/config.yml

从远程服务器拉取文件

sshsync pull --group db-servers /var/log/mysql/error.log ./logs/

配置管理

添加主机到组

sshsync gadd production

添加主机到 SSH 配置

sshsync hadd

4. 典型生态项目

SSHttpsync 可以与其他开源项目配合使用,例如:

  • Ansible: 用于自动化配置管理和应用程序部署。
  • Nginx: 作为 web 服务器,SSHttpsync 可以用来快速部署和更新 Nginx 配置。
  • Docker: 在多个服务器上自动化 Docker 容器的部署。

通过结合这些工具,您可以构建一个强大的自动化环境,简化运维工作,提高效率。

登录后查看全文
热门项目推荐