xxssh

友好的 SSH 客户端 - 多服务器管理 / 全功能终端 / 自动化 CLI / AI Agent

📂 开发工具#SSH#终端#远程连接#跨平台#开发工具📅 2026-8-8

目录同步 (sync)

📅 2026-8-16

基本用法

xxssh --profile prod sync ./site /var/www/site            # push(默认)
xxssh --profile prod sync ./site /var/www/site --dry-run  # 预演,不做改动
xxssh --profile prod sync ./site /var/www/site --delete   # 删除远端多余文件

方向

  • push(默认):本地 -> 远端
  • -d pull:远端 -> 本地(备份常用)
  • -d both:双向合并,冲突按 --conflict 策略处理

增量规则

大小相同且修改时间相差 <=1 秒即跳过。传输自动保留 mtime,所以第二次运行会全部跳过。

冲突策略(both 模式)

| 策略 | 行为 |

|------|------|

| fail(默认) | 报告冲突、不动该文件,退出码 1 |

| newer | 较新的一侧胜出(时间差 <=1 秒且大小不同视为歧义 -> 冲突) |

| local / remote | 固定本地 / 远端胜出 |

过滤(rsync 风格通配)

  • 不含 / 的模式按文件名匹配任意深度:*.tmp 覆盖 a/b/x.tmp
  • 含 / 的模式匹配相对路径:sub/**、a/*.log
  • 可重复出现;排除优先于包含

安全保证

  • --delete 永不删除被排除 / 非受管的文件
  • 目录仅在空时移除(rmdir 语义),绝不递归删除内容
  • 先 --dry-run 查看 delete-remote 列表再实际执行,dry-run 与实际行为一致