以下是根据 ​Synology_app_mover​ 项目编写的 ​中文使用说明​:


Synology 应用迁移工具 (syno_app_mover) 使用指南

功能​:安全迁移群晖套件到其他存储卷,或备份/恢复套件数据。支持 DSM 7。


一、安装准备

  1. 下载脚本
    • 从 GitHub 下载项目 ZIP 文件:007revad/Synology_app_mover
    • 解压 ZIP 到群晖的任意文件夹(如 /volume1/scripts/)。
  2. 配置文件设置

    编辑 syno_app_mover.conf文件(与脚本同目录):

    # 备份路径(需提前创建)
    backuppath="/volume1/backups"  # 示例路径
    
    # 空间检查缓冲(单位:GB,避免目标卷写满)
    buffer=50
    
    # 跳过近期备份(单位:分钟,0=始终备份)
    skip_minutes=360
    
    # 排除特定套件(使用系统名称,逗号分隔)
    exclude="DownloadStation,ContainerManager"
  3. 设置脚本权限

    通过 SSH 执行:

    sudo chmod +x /volume1/scripts/syno_app_mover.sh

二、运行脚本

sudo -s /path/to/syno_app_mover.sh [选项]
常用选项
选项 说明
--list 列出已安装套件的系统名称​(迁移时需用此名称)
--auto=套件名 自动备份指定套件(支持逗号分隔或 all全备份)
示例:--auto=ContainerManager--auto=all
--autoupdate=天数 自动更新脚本(如 --autoupdate=7每周更新)
-h/ --help 查看帮助文档

三、迁移套件流程

  1. 运行脚本选择 Move a package
  2. 选择要迁移的套件(使用方向键+空格选中)
  3. 选择目标存储卷
  4. 脚本将自动完成:
    • 停止套件服务
    • 迁移数据到新卷
    • 修复符号链接
    • 重启套件

注意​:

  • Docker/Container Manager 需额外导出容器设置(见下文)。
  • 部分套件需手动修改存储路径(如 Active Backup)。

四、备份与恢复

  • 备份​:选择 Backup a package→ 选套件 → 自动压缩到 backuppath
  • 恢复​:选择 Restore a package→ 选备份文件 → 自动解压并修复权限

备份规则​:

  • 跳过 skip_minutes内已备份的套件。
  • 排除 exclude列表中的套件。

五、特殊套件处理

1. Docker / Container Manager
# 在 syno_app_mover.conf 中配置:
delete_older=30     # 自动删除超过30天的旧设置
ignored_containers="libraspeed-1"  # 忽略的容器名

迁移前会自动导出容器设置(保存到 backuppath)。

2. 已知兼容套件
套件名称 (系统名) 状态 备注
ContainerManager 支持 v20.10.23
Docker 需手动导出设置
SynologyDrive
PlexMediaServer
完整列表 见项目 README

六、常见问题

  1. 脚本无法运行
    • 确认路径无空格(如有空格需加引号:"/volume1/my scripts/syno_app_mover.sh"
    • 检查文件权限(执行 chmod +x
  2. 迁移后套件异常
    • 检查依赖套件是否迁移(如 PHP 依赖 Web Station)
    • 部分套件需重配置存储路径(如 SurveillanceStation)
  3. 备份到 USB 设备
    • 确保 USB 文件系统为 ​ext3/ext4/btrfs​(NTFS/FAT 不支持权限)

风险提示​:

务必提前备份重要数据​!迁移系统套件存在风险,非兼容套件可能导致故障。


七、视频演示


Credits: wallacebrf (测试), ctrlaltdelete (Docker 导出代码)

项目更新​:使用 --autoupdate选项自动获取新版本!