迁移社交媒体存档并不只是把 ZIP 上传到新账户。请保留原始导出文件,确保媒体与其元数据保持关联,并在停用旧副本前验证目标位置。

迁移可分为四个阶段:保留源文件、准备数据包、传输数据,以及验证结果。原生平台导出与截图或自动采集服务应区别对待:截图能保留视觉内容,却会遗漏标题、评论和互动数据;如需完整元数据,建议使用数据导出 根据 Sprink。

如果你希望在迁移期间继续采集内容,SocialGuardian 表示它可以自动捕获帖子、照片、视频和快拍 根据 SocialGuardian。从个人资料开始。

构建可移植的迁移数据包

从原始导出文件开始,不要改变其交付形式。将 ZIP 和解压后的文件保存在源数据包中,并将 JSON 元数据与其描述的媒体放在一起。Instagram 和 Facebook 的导出可能会将标题和标签作为 JSON 元数据文件提供,而不是嵌入 JPEG 中 根据 Viallo。

BagIt 风格的数据包可作为迁移记录的实用模型。BagIt 描述了用于存储和传输任意数字内容的分层文件布局约定,并将有效载荷文件与标签元数据分开 根据 RFC 8493。其有效载荷可以保留任意子目录,且有效载荷文件对该格式保持不透明,因此数据包不要求你重新解释或转换媒体 根据 RFC 8493。

复制前记录以下字段:

  • 源组织、外部标识符、描述或来源、打包日期、数据包大小和发送方标识符。BagIt 将这些列为具体的 bag-info 元数据元素 根据 RFC 8493。
  • 每个有效载荷路径及其校验和。BagIt 有效载荷清单完整列出有效载荷路径及对应校验和,每个有效载荷文件必须且只能列出一次 根据 RFC 8493。
  • 稳定的文件 ID,以及每个媒体文件、其标题或元数据文件和其在存档中位置之间的链接。METS 使用唯一文件 ID 以及结构和管理引用来连接文件与元数据 根据美国国会图书馆。
  • 复制或转换的来源记录。W3C PROV 将移动、复制或重复数字实体明确建模为活动,并可描述存档成员及其组装方式 根据 W3C PROV。
  • 字段映射记录:源字段、目标字段,以及任何不受支持或经过转换的结果。元数据保留取决于源和目标的结构;验证时可以忽略不受支持的属性 根据 AWS DataSync。

清单不只是库存。它能帮助你区分缺失文件、重命名文件、已更改文件,以及目标无法表示的字段。

以目标能够保留的格式导出源存档

当元数据很重要时,请使用平台的原生导出。英国信息专员办公室(ICO)将数据可移植性描述为以结构化、通用且机器可读的格式接收个人数据,并在没有通用行业格式时,将 CSV、XML 和 JSON 列为可考虑的开放格式 根据 ICO。

不要因为目标服务接受上传,就认定它在技术上兼容。ICO 表示,在技术可行时应支持直接传输,但数据可移植性并不要求系统在技术上兼容 根据 ICO。即使目标服务提供导入器,也要保留原始导出文件。

Instagram 桌面端导出

有记录的桌面端设备导出流程如下:

  1. 点击左下角的 更多,然后点击 设置。
  2. 点击 Meta 账户,然后点击 你的信息和权限。
  3. 点击 导出你的信息,然后点击 创建导出。
  4. 选择个人资料并点击 下一步。
  5. 选择 导出到设备 根据 Instagram。

Instagram 允许你在选择 开始导出 前选择具体信息、日期范围、格式、通知邮箱和媒体质量 根据 Instagram。准备好的导出文件会保留四天,Meta 说明导出链接最长可能需要 30 天才能到达 根据 Instagram。

Facebook 桌面端导出

Facebook 有记录的桌面端设备导出流程如下:

  1. 点击右上角的头像。
  2. 点击 设置和隐私,然后点击 设置。
  3. 点击 Meta 账户,然后点击 你的信息和权限。
  4. 点击 导出你的信息,然后点击 创建导出。
  5. 选择个人资料和 导出到设备 根据 Facebook。

Facebook 允许你选择具体信息、日期范围、格式、通知邮箱和媒体质量 根据 Facebook。准备好的导出文件会在 可用下载内容 中保留四天 根据 Facebook。

LinkedIn 桌面端导出

LinkedIn 有记录的桌面端流程如下:

  1. 点击 LinkedIn 主页顶部的 我图标。
  2. 选择 设置和隐私。
  3. 点击左侧栏中的 数据隐私。
  4. 在 LinkedIn 如何使用你的数据 下,点击 下载你的数据。
  5. 选择数据并点击 请求存档 根据 LinkedIn。

LinkedIn 表示,特定类别的下载可能在几分钟内到达,较大的下载可能需要 24 小时,下载链接有效期为 72 小时 根据 LinkedIn。

HTML 还是 JSON?

Facebook 将 HTML 描述为包含 index 页面、可供查看的 ZIP 文件;它将 JSON 描述为机器可读的信息,上传到其他服务时可能更容易传输 根据 Facebook。选择目标能够保留的格式,同时保留原始 ZIP,并在迁移数据包中记录格式。

在不丢失关联的情况下准备和传输

将云存储视为目标,而不是采集方式。Sprink 建议使用顶层的 Social Media Archive 文件夹、平台子文件夹、上传的导出 ZIP,以及定期导出提醒 根据 Sprink。

迁移期间将以下三个区域分开:

  • 未修改的源导出文件。
  • 用于创建清单和检查映射的准备副本。
  • 目标副本。

复制 ZIP 及其解压内容。不要用重新整理后的版本替换源文件。如果导出提供 JSON,请将其与所描述的媒体放在一起。如果目标没有针对该导出格式的文档化导入器,请逐个文件复制并保留源布局,不要猜测转换方式。BagIt 允许任意子目录结构,也不要求传输格式解释有效载荷 根据 RFC 8493。

对于逐文件的服务商迁移,Cloudwards 以云盘为例说明了以下模式:

  1. 找到下载的存档。
  2. 将文件拖入目标云盘。
  3. 等待文件上传。
  4. 确认可以在另一台设备上下载数据 根据 Cloudwards。

在完整复制前,如果工具支持,请先运行预览或试运行。WhatsApp Backup Tools 建议先试运行,以便在创建存档前验证路径和加密密钥 根据 WhatsApp Backup Tools。

使用保守的覆盖规则。实用的重复运行模式是:跳过内容相同的文件;对同名但内容不同的文件添加数字后缀并发出警告;正常复制新媒体 根据 WhatsApp Backup Tools。将这些结果记录在异常日志中,不要静默覆盖文件。

保持迁移过程私密

导出文件可能包含私人信息。Facebook 表示,应保护信息请求的安全,并在存储、发送或上传到其他服务时采取预防措施 根据 Facebook。

为源文件、准备区域和目标位置使用访问控制。ICO 安全指南要求进行风险分析,并在适当情况下使用加密或假名化、机密性、完整性和可用性控制、及时恢复以及定期测试和审查 根据 ICO。CISA 也建议使用离线加密备份并定期测试 根据 CISA。

在更换服务商时,可逆性很重要。SocialGuardian 表示其存档对账户保持私密,可随时导出,并且不存在锁定 根据 SocialGuardian。查看存档设置。

核对文件、哈希和元数据

在切换前进行核对:

  1. 比较源和目标库存:原始 ZIP、媒体文件、元数据文件、清单和异常记录。
  2. 比较已复制文件的校验和。NIST 将校验和定义为与对象一起存储或传输、依赖内容的值,用于检测变化 根据 NIST。
  3. 使用安全哈希时,比较源和目标摘要。NIST 表示,安全哈希摘要可以检测消息在生成摘要后是否发生变化 根据 NIST。
  4. 比较字段映射记录。标记已保留、已转换、不受支持或被忽略的元数据。AWS DataSync 说明,元数据保留取决于源和目标结构,并且可能尽力而为 根据 AWS DataSync。
  5. 检查缺失文件、重复文件、同名冲突、跳过项目、已传输项目、已验证项目和已删除项目。AWS DataSync 任务报告提供这些类别,以及源和目标位置、字节数、开始和结束时间 根据 AWS DataSync。
  6. 在另一台设备上下载或恢复具有代表性的样本,并确认每个媒体文件都能与相关元数据一起打开。逐文件云复制流程应确认数据可以在另一台设备上下载 根据 Cloudwards,CISA 也建议定期测试备份 根据 CISA。

如果使用 BagIt 数据包作为验收模型,只有在有效载荷完整、且有效载荷清单和标签清单中的每个校验和都成功验证后,它才算完整 根据 RFC 8493。标签清单除了有效载荷外,也可以为迁移记录或其他标签文件计算校验和 根据 RFC 8493。

还要检查路径处理。BagIt 警告清单路径不得越出数据包目录,并指出文件名大小写、Unicode 规范化和路径分隔符差异可能造成互操作风险 根据 RFC 8493。

使用回滚控制完成切换

不要在上传完成后立即停用旧服务商。只有在库存、校验和、元数据映射、异常审查以及样本恢复都通过后,才将目标位置设为活动存档。

然后:

  1. 将目标位置标记为活动存档。
  2. 保留原始导出、清单、字段映射记录、迁移报告和异常日志。
  3. 根据保留政策保留旧副本。
  4. 在第一次计划采集或导出后再次测试新目标。
  5. 只有在保留决策允许、且剩余副本满足恢复要求时,才删除旧副本。

3-2-1 策略是一种弹性模式:三个副本、两个不同设备上的副本,以及一个异地副本;当其他副本不可用时,异地副本支持及时恢复 根据 ICO。

回滚控制取决于目标服务。AWS S3 版本控制可以保留、检索和恢复对象版本;覆盖操作会创建新版本,也可以恢复之前的版本 根据 AWS S3。S3 对象锁定可以在固定或可变期限内、无限期或法律保留下阻止对象被删除或覆盖 根据 AWS S3。这些是服务商特有的控制,并非普遍行为,因此请记录目标实际支持的功能。

了解导出无法恢复的内容

迁移只能保留源导出中包含的内容。Viallo 报告称,平台导出可能包含压缩副本,Instagram 的滤镜可能已经烘焙到导出图像中,而点赞、评论和其他社交背景可能已经丢失 根据 Viallo。

将以下内容分为不同层次:

  • 媒体文件。
  • 与媒体放置在一起的标题或其他 JSON 元数据。
  • 平台社交背景,这些内容可能不在导出中。
  • 原始导出 ZIP 及其迁移记录。

不要承诺截图、压缩导出或新的备份服务可以重新创建平台未包含的信息。截图会遗漏标题、评论和互动数据 根据 Sprink。

迁移后保持存档更新

迁移保护的是现有存档;未来的导出保护后续变化。Sprink 建议每六个月提醒一次,从每个平台请求新的数据导出 根据 Sprink。

对于持续采集,SocialGuardian 表示其受保护存档包括帖子、照片、视频、Reels 和 Shorts、快拍、标题和元数据、关注者与关注列表,以及互动数据 根据 SocialGuardian。

将未来的采集内容与迁移后的存档放在一起:SocialGuardian 表示它可以在一个地方备份 Instagram、TikTok、YouTube、X、Facebook、LinkedIn、Twitch 和 Pinterest 根据 SocialGuardian。开始备份个人资料。

常见问题