GoodSync 中文文档 下载 App

后台服务模式——GoodSync 作为无人值守系统服务运行

为什么需要后台服务

普通 GoodSync 需要在桌面环境运行——用户登录后打开 GoodSync 程序,它才能执行同步任务。但以下场景需要无人值守的长期运行:

GoodSync 的 Server 版本提供了后台服务模式,解决这些需求。

Windows 服务注册

前置条件

注册步骤

  1. 打开 GoodSync 主界面(以管理员身份运行)
  2. 菜单栏 → Tools → Options → Server 标签
  3. 点击「Install Server」按钮
  4. 在弹出的对话框中配置:
  1. 点击确认,GoodSync 会调用 Windows Service Control Manager 注册服务

注册完成后,GoodSync 会从「桌面上的程序」转变为「系统后台服务」——在 services.msc 中可以看到「GoodSync Server」服务。

管理服务状态

# 查看服务状态
Get-Service -Name "GoodSync Server"

# 启动服务
Start-Service -Name "GoodSync Server"

# 停止服务
Stop-Service -Name "GoodSync Server"

# 重启服务
Restart-Service -Name "GoodSync Server"

# 查看服务运行日志(Windows 事件查看器)
Get-WinEvent -LogName "Application" | Where-Object {$_.ProviderName -like "*GoodSync*"}

Linux daemon 配置

GoodSync Linux 版可以通过 systemd 注册为系统服务。

创建 systemd 单元文件

sudo tee /etc/systemd/system/goodsync.service << 'EOF'
[Unit]
Description=GoodSync Sync Service
After=network-online.target
Wants=network-online.target

[Service]
Type=forking
ExecStart=/usr/local/bin/goodsync --daemon
ExecStop=/usr/local/bin/goodsync --shutdown
User=goodsync
Group=goodsync
Restart=on-failure
RestartSec=10
# 资源限制(可选)
MemoryMax=512M

[Install]
WantedBy=multi-user.target
EOF

启用并启动

# 创建专用账户(安全最佳实践)
sudo useradd -r -s /usr/sbin/nologin goodsync

# 重载 systemd 配置
sudo systemctl daemon-reload

# 设置开机自启
sudo systemctl enable goodsync

# 启动服务
sudo systemctl start goodsync

# 查看状态
sudo systemctl status goodsync

查看日志

# 实时查看 GoodSync 服务日志
sudo journalctl -u goodsync -f

# 查看最近 100 行
sudo journalctl -u goodsync -n 100

# 查看今天的日志
sudo journalctl -u goodsync --since today

Server 模式与桌面模式的差异

对比项桌面模式Server 模式
启动方式用户登录后手动打开开机自启
是否需要用户登录是否
作业配置在 GUI 中编辑可以通过 GUI 创建后导出,或在桌面版配置好后导入到服务账户
日志位置GUI 内 Log 标签日志文件 / Windows 事件 / systemd journal
GoodSync Server 端点作为 GoodSync Server 被动接收同步同时具备主动同步和被动接收能力
资源占用与普通 GUI 程序相当较低,只运行同步引擎

安全注意事项

后台服务模式因为不依赖用户登录,权限配置需要格外小心:

Server 模式的升级

升级 GoodSync Server 版时,需要先停止服务、运行安装程序、然后重新启动服务:

# Windows PowerShell
Stop-Service -Name "GoodSync Server"
# 运行新版本安装包
Start-Service -Name "GoodSync Server"
# Linux
sudo systemctl stop goodsync
sudo ./install-gssh
sudo systemctl start goodsync

升级过程中作业配置和 GoodSync Connect 账户登记信息都会被保留。