Google Workspace 迁移到 Synology 全指南:MailPlus、联系人与Calendar 操作详解


在企业数字化管理中,不少用户因数据本地化、成本控制等需求,计划将Google Workspace的邮件、联系人、日历数据迁移到Synology的MailPlus、Contacts和Calendar套件中。但迁移过程涉及账户授权、数据映射、增量同步等细节,若操作不当易导致数据丢失或格式错乱。本文基于Synology官方技术文档(https://kb.synology.cn/zh-cn/DSM/tutorial/Google_Workspace_migration_guide),从“迁移前准备→邮件迁移→联系人和日历迁移→故障排查”四个维度,拆解全流程操作步骤,覆盖账户配置、用户列表制作、SSH命令执行等关键环节,帮你高效完成Google Workspace到Synology的无缝迁移。



一、迁移前准备:3大核心前提必须落地

在启动迁移任务前,需先完成“服务账户密钥生成”“账户类型匹配”“用户列表制作”,这是确保迁移权限合规、数据映射准确的基础。建议按以下顺序逐一操作,避免后续步骤卡壳。


1.1 生成Google Workspace服务账户密钥(授权关键)

Synology套件需通过Google服务账户密钥获取数据访问权限,需在Google Cloud控制台生成,步骤如下:

1. 登录Google Cloud控制台(https://console.cloud.google.com/),使用Google Workspace管理员账户登录;

2. 创建项目:点击左上角“项目”→“新建项目”,输入项目名称(如“Synology-Migration”),点击“创建”(需等待1-2分钟完成初始化);

3. 启用API:在项目页面搜索“Admin SDK API”和“Google Calendar API”,分别点击“启用”(两个API需全部启用,否则无法读取邮件、日历数据);

4. 创建服务账户: 

- 点击左侧“IAM与管理”→“服务账户”→“创建服务账户”,输入账户名称(如“syno-migrate”),点击“创建并继续”; 

- 角色选择“项目→所有者”(确保权限足够读取所有用户数据),点击“继续”→“完成”;

5. 生成密钥文件: 

- 在服务账户列表中,点击目标账户右侧的“操作”→“管理密钥”; 

- 点击“添加密钥”→“创建新密钥”,密钥类型选择“JSON”,点击“创建”,密钥文件会自动下载到本地(命名通常为“[项目ID]-[随机字符串].json”,需保存好,后续迁移需上传)。


1.2 调整Synology套件账户类型(确保数据匹配)

Synology MailPlus和Contacts的账户类型需与目标DSM账户类型一致(如本地用户、LDAP用户),否则迁移后数据无法关联,步骤如下:


(1)调整Synology MailPlus账户类型

1. 登录Synology DSM,打开“MailPlus Server”套件(需提前安装,通过“套件中心”搜索安装);

2. 进入“服务”→“协议”页面,在“SMTP”部分找到“账户类型”下拉框;

3. 根据目标DSM账户类型选择: 

- 本地用户:选择“本地用户”; 

- LDAP/域用户:选择“LDAP用户”或“域用户”(需确保NAS已加入LDAP服务器或域); 

4. 点击“应用”保存设置,重启MailPlus Server(点击“服务”→“重启”)使配置生效。


(2)调整Synology Contacts账户类型

1. 打开“Synology Contacts”套件,点击右上角“设置”(齿轮图标);

2. 选择“高级”选项卡,找到“账户类型”设置;

3. 与MailPlus账户类型保持一致(如均设为“本地用户”),点击“保存”;

4. 关闭Contacts并重新打开,确保账户类型生效。


1.3 制作用户列表(数据映射关键,分2类格式)

用户列表是Google Workspace账户与Synology账户的“桥梁”,需按“邮件迁移”和“联系日历迁移”分别制作CSV文件,格式不可互换,需严格遵循要求。


表1:邮件迁移用户列表(CSV格式)

| 制作要点 | 具体要求 | 示例(CSV内容) |

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

| 列顺序 | 第1列:Google Workspace账户(邮箱)
第2列:Google密码(留空,因用服务密钥授权)
第3列:MailPlus账户(本地用户填账户名,LDAP/域用户填全名) | Google电子邮件地址,,MailPlus 帐户
yuki@example.com,,yuki
jack@example.com,,jack@domain.com
selma@example.com,,domainselma |

| 命名规则 | 建议命名为“userlist_mailplus.csv”,避免与其他列表混淆 | - |

| 注意事项 | 同一CSV中所有用户需为同一DSM账户类型(如全为本地用户,或全为LDAP用户) | 不可混合本地用户和域用户在同一文件中 |


表2:联系人和日历迁移用户列表(CSV格式)

| 制作要点 | 具体要求 | 示例(CSV内容) |

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

| 列顺序 | 第1列:账户类型(user=用户,group=群组,仅user会迁移数据)
第2列:Google Workspace账户(邮箱)
第3列:DSM账户(格式同MailPlus) | 帐户类型,Google 电子邮件地址,DSM 帐户
user,yuki@example.com,yuki
user,jack@example.com,jack@domain.com
group,sales@example.com,sales |

| 命名规则 | 建议命名为“userlist_contact.csv”,与邮件列表区分 | - |

| 注意事项 | 群组仅同步共享权限,不迁移数据;DSM账户需提前在NAS中创建 | 若DSM账户不存在,迁移时会报错“目标账户不存在” |


制作工具与保存:用Microsoft Excel或OpenOffice创建,编辑完成后选择“另存为”→“CSV(逗号分隔)(.csv)”,编码设为“UTF-8”(避免中文用户名乱码)。



二、邮件迁移:Synology MailPlus 接收Google Workspace邮件

MailPlus Server支持Google Workspace邮件增量迁移(迁移中可继续使用Google邮箱),需按“创建任务→配置过滤器→设置通知→运行迁移→切换服务”五步操作,确保邮件完整同步。


2.1 步骤1:创建MailPlus迁移任务

1. 打开Synology MailPlus Server,进入“服务器管理”→“邮件迁移”页面;

2. 点击“创建”按钮,进入“常规”选项卡,填写基础信息: 

- 任务名称:输入辨识度高的名称(如“202406_GWS_to_MailPlus”); 

- 选择服务器类型:下拉框中选择“Google Workspace”; 

- Google Workspace服务密钥:点击“上传”,选择之前下载的JSON密钥文件; 

- 可选设置: 

- 每时段迁移账户数量:根据NAS性能设置(双核CPU建议设2-3个,四核设4-5个); 

- 任务时间:勾选“安排任务时间”,选择夜间低峰时段(如23:00-次日6:00),避免影响业务;

3. 切换到“用户列表”选项卡,点击“导入”→选择“userlist_mailplus.csv”文件,导入后仔细核对每一行账户映射(重点检查MailPlus账户是否与DSM账户一致);

4. 点击“下一步”,暂不修改其他设置,先完成任务创建(后续配置过滤器和通知)。


2.2 步骤2:配置邮箱过滤器(按需迁移/跳过邮件)

若需筛选特定邮件(如仅迁移2020年后的邮件,或跳过垃圾邮件),可设置邮箱过滤器:

1. 在迁移任务编辑页面,切换到“过滤器”选项卡;

2. 勾选“启用邮箱过滤器”,选择策略: 

- 按关键字迁移邮箱:仅迁移名称含关键字的邮箱(如“INBOX”“Sent Items”); 

- 按关键字跳过邮箱:不迁移含关键字的邮箱(如“Trash”“Spam”);

3. 点击“设置关键字”,输入规则: 

- 关键字:如输入“INBOX,Sent Items”(多个关键字用逗号分隔,支持正则表达式,如“/^202[0-9]/”匹配2020年后的邮件文件夹); 

- 例外:如输入“INBOX/Old”(含此关键字的邮箱不按策略处理);

4. 点击“确定”保存过滤器设置。


2.3 步骤3:开启迁移结果通知(及时掌握进度)

迁移完成后需接收结果通知,避免遗漏失败账户,步骤如下:

1. 进入迁移任务“通知”选项卡;

2. 勾选“发送迁移结果通知”,设置接收邮箱(建议填管理员邮箱,如“admin@syno-example.com”);

3. 选择通知触发条件: 

- 任务完成后通知; 

- 单个账户迁移失败时立即通知;

4. 注意:需先启用MailPlus SMTP服务,否则无法发送通知——进入MailPlus Server“服务”→“协议”,确保“SMTP”状态为“已启用”,端口设为25(或587,视网络环境而定)。


2.4 步骤4:运行迁移任务(增量同步,无需停机)

MailPlus采用增量迁移模式,迁移期间用户可正常使用Google Workspace邮件,操作如下:

1. 回到“服务器管理→邮件迁移”页面,选中创建的任务,点击顶部“开始”按钮;

2. 任务运行中可执行的操作: 

- 查看进度:点击任务右侧“信息”图标(文档样式),查看“已迁移账户数”“成功数”“失败数”及详细日志(日志可下载,用于排查失败原因); 

- 暂停/继续:点击“停止”可暂停任务,修改设置后再点击“开始”继续; 

3. 迁移时长:取决于账户数量和单账户邮件大小(10个账户、每个账户10GB邮件约需1-2天,建议耐心等待);

4. 关键提醒:迁移期间不要修改MailPlus的IMAP/POP3设置,也不要在Google Workspace中移动/删除邮件,否则会导致迁移错误。


2.5 步骤5:切换到MailPlus Server(迁移完成后操作)

所有账户迁移成功后,需将用户邮件客户端(如Outlook、手机邮件APP)配置改为MailPlus Server,步骤如下:

1. 告知用户MailPlus服务器信息: 

- IMAP服务器:NAS的IP地址或DDNS(如“mail.syno-example.com”),端口993(SSL); 

- SMTP服务器:同IMAP服务器,端口465(SSL); 

- 账户名:即MailPlus账户(如“yuki”“jack@domain.com”),密码为DSM账户密码;

2. 测试连接:管理员先在自己的邮件客户端配置MailPlus账户,发送测试邮件,确认收发正常;

3. 逐步切换用户:建议按部门分批切换,避免同时切换导致NAS负载过高。



三、联系人和Calendar迁移:需安装工具+SSH命令执行

相比邮件迁移,联系人和Calendar迁移需依赖专用工具,且需通过SSH执行命令,操作稍复杂,需严格按步骤执行,且迁移会删除目标账户现有数据,需提前备份。


3.1 步骤1:安装Google Workspace迁移工具(分DSM版本)

需根据DSM版本下载对应迁移工具(SPK文件),步骤如下:

1. 下载工具: 

- DSM 7.2及以上:从Synology官网下载“Google Workspace Migration Tool for Synology MailPlus”(搜索工具名称即可找到); 

- DSM 7.0/7.1:下载适配旧版本的SPK文件(注意:旧版本工具需从Synology归档文档中获取,确保与DSM版本兼容);

2. 手动安装: 

- 登录DSM,打开“套件中心”,点击右上角“手动安装”; 

- 点击“浏览”,选择下载的SPK文件,点击“下一步”→“同意”→“安装”,等待安装完成(约1-2分钟)。


3.2 步骤2:准备迁移文件与共享文件夹

1. 创建共享文件夹:进入DSM“控制面板→共享文件夹”,点击“创建”,输入名称(如“GWS-Migration”),选择存储池(如“volume1”),点击“下一步”→“完成”;

2. 上传文件:打开“FileStation”,进入“GWS-Migration”文件夹,上传两个文件: 

- Google服务账户密钥(JSON文件,如“syno-migrate-1234.json”); 

- 联系人和日历用户列表(“userlist_contact.csv”)。


3.3 步骤3:通过SSH登录DSM执行迁移命令

迁移需通过SSH执行命令,需先开启DSM SSH功能,再操作:


(1)开启DSM SSH服务

1. 进入DSM“控制面板→终端机和SNMP”;

2. 勾选“启用SSH服务”,端口默认22(若需修改,记好新端口),点击“应用”。


(2)登录SSH并执行命令

1. 打开电脑端SSH工具(如Windows Terminal、PuTTY): 

- Windows Terminal:输入命令`ssh admin@NAS_IP`(admin为DSM管理员账户,NAS_IP为NAS的局域网IP,如“192.168.1.110”),按提示输入密码; 

- PuTTY:在“Host Name”中输入NAS_IP,端口填22,点击“Open”,输入账户和密码;

2. 获取root权限:输入命令`sudo -i`,按提示输入DSM管理员密码(输入时密码不显示,输完按Enter即可);

3. 进入共享文件夹:输入命令`cd /volume1/GWS-Migration`(路径需与实际共享文件夹路径一致,“volume1”为存储池名称,“GWS-Migration”为文件夹名);

4. 执行迁移命令:输入以下命令(替换示例中的文件路径为实际路径): 

```

/var/packages/GWS-Migrate/target/bin/migrate /volume1/GWS-Migration/syno-migrate-1234.json /volume1/GWS-Migration/userlist_contact.csv

```

- 命令解释:前一个路径为服务密钥文件,后一个为用户列表文件;

5. 等待迁移完成:终端无报错信息则表示迁移成功,若有报错(如“账户不存在”“权限不足”),需按提示修改后重新执行命令。


3.4 步骤4:查看迁移结果与日志(排查错误)

迁移完成后,系统会在共享文件夹(如“GWS-Migration”)生成3个文件,用于验证结果和排查问题:

1. `ccm_debug.log`:详细执行日志,包含每个账户的迁移过程,若有失败,日志中会标注原因(如“Google账户无Calendar权限”);

2. `result_user_list.csv`:记录所有账户迁移状态,“user_mapping”列显示“成功”或“失败”,失败账户可通过此文件重新迁移(重新迁移时将此文件作为用户列表导入);

3. `owner_sharing_calendars.txt`:记录多所有者日历(Google Calendar支持多所有者,迁移后会复制到每个所有者的Synology账户中,导致重复)。


重新迁移失败账户

若有账户迁移失败,可使用`result_user_list.csv`重新迁移:

1. 执行命令(替换文件路径): 

```

/var/packages/GWS-Migrate/target/bin/migrate /volume1/GWS-Migration/syno-migrate-1234.json /volume1/GWS-Migration/result_user_list.csv

```

2. 重新迁移会自动跳过成功账户,仅处理失败账户,节省时间。


3.5 步骤5:处理重复日历(多所有者导致)

Google Calendar多所有者迁移后会在Synology Calendar中生成重复日历,处理方法如下:

1. 查看`owner_sharing_calendars.txt`,确认重复日历的所有者(如“Calendar [团队日历] is migrated to user(s): "User1", "User2"”);

2. 确定主所有者(如“User1”),告知其他所有者(如“User2”)在Synology Calendar中删除重复日历: 

- 打开Synology Calendar,找到重复的“团队日历”,右键点击“删除”; 

- 主所有者的日历保留,其他用户可通过“共享”功能访问主日历(避免重复)。



四、迁移限制与格式说明(避免预期不符)

部分Google Workspace字段和功能不支持迁移到Synology,需提前告知用户,避免迁移后发现数据缺失。


4.1 不支持迁移的项目(官方明确限制)

| 类别 | 不支持迁移的内容 | 原因 |

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

| 联系人 | 前缀、后缀、拼音名(姓/名/中间名)、关系、自定义字段 | Synology Contacts无对应字段 |

| Calendar | 订阅的日历(仅共享日历迁移)、通知设置、预约时段、全天事件通知、附加文件、空闲/忙碌信息、事件颜色、来宾权限 | 功能不兼容或Synology Calendar无对应设计 |

| 任务 | 任务时间(仅显示日期)、重复规则、子任务层次结构(子任务变为独立任务) | 任务模块功能简化 |


4.2 迁移中的格式转换(需注意显示差异)

| 类别 | Google Workspace格式 | Synology格式转换结果 |

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

| 联系人 | 无名联系人 | 有邮箱则显示邮箱,无邮箱显示“无名”;“其他联系人”迁移到“syno_suggested”分组 |

| 联系人标签 | 自定义颜色 | 统一转为默认颜色(可迁移后手动修改) |

| Calendar事件描述 | HTML格式文本 | 转为纯文本,HTML标签(如```
`)会显示为普通字符 |

| 事件时区 | 开始/结束时间不同时区 | 统一使用开始时间的时区,结束时间按此调整 |

| 事件提醒 | 任意时间设置 | 按规则调整(如Google中“提前7分钟”→Synology中“提前10分钟”,详见官方表格) |



五、常见问题解答(FAQ):解决迁移中的高频问题

Q1:迁移邮件时部分账户失败,日志显示“服务账户无权限”,怎么办?

A1:核心原因是Google服务账户权限不足,解决步骤: 

1. 登录Google Cloud控制台,进入“IAM与管理→IAM”; 

2. 找到迁移用的服务账户,点击“编辑”,添加“G Suite管理员API客户端访问”权限; 

3. 进入Google Workspace管理控制台(https://admin.google.com/),“安全→API控制→域-wide委派”,添加服务账户的客户端ID,授权范围填“https://www.googleapis.com/auth/gmail.readonly”“https://www.googleapis.com/auth/calendar”; 

4. 重新上传服务账户密钥,重启迁移任务。


Q2:迁移联系人和Calendar后,目标账户数据丢失,能恢复吗?

A2:迁移前已提示“会删除目标账户现有数据”,若未备份,恢复难度较大,建议: 

1. 若开启了Synology Hyper Backup,可通过“Hyper Backup”还原Contacts和Calendar的备份数据(需提前备份); 

2. 若未备份,可重新运行迁移任务(用`result_user_list.csv`),但仅能恢复Google Workspace数据,无法恢复原Synology数据。


Q3:Calendar迁移后事件提醒时间不对,怎么调整?

A3:这是格式转换导致,可手动修改Synology Calendar的提醒设置: 

1. 打开Synology Calendar,进入“设置→事件提醒”; 

2. 调整默认提醒时间(如将“提前10分钟”改为“提前7分钟”); 

3. 批量修改现有事件:选中多个事件,右键“编辑”,统一调整提醒时间。



总结

从Google Workspace迁移到Synology的核心是“提前准备→分步执行→验证结果”:邮件迁移依赖MailPlus的增量同步,无需停机;联系人和Calendar迁移需依赖工具和SSH命令,且需注意数据覆盖风险。迁移前务必生成有效服务账户密钥、匹配账户类型、制作正确的用户列表;迁移中关注日志,及时排查失败账户;迁移后测试功能,逐步切换用户。按本文步骤操作,即可实现数据从Google Workspace到Synology的无缝迁移,兼顾数据安全与业务连续性。

Google Workspace 如何迁移到 Synology?MailPlus/联系人/Calendar 全流程指南

新闻中心

联系我们

技术支持

  • ·

    Synology Drive 我...

  • ·

    Synology Drive 与...

  • ·

    Synology Drive 内...

  • ·

    Synology Drive 同...

  • ·

    Synology删除文件后存储空...

  • ·

    Synology DSM 检查系...

  • ·

    Synology Drive能当...

  • ·

    Synology Docker容...

相关文章

地址:北京市海淀区白家疃尚品园             1号楼225

北京群晖时代科技有限公司

微信咨询

新闻中心