Debian 镜像同步错误

Debian 镜像同步错误

我在 FreeBSD 8.2 系统上运行 Debian 镜像同步工具“ftpsync”。我稍微修改了脚本以适应 FreeBSD 系统(例如,bash 的路径)。我遵循了http://www.debian.org/mirror/ftpmirror设置镜像站点。

该脚本被放入 cron 作业中,并将每天运行。有时,我会在日志文件中看到以下错误消息,如下所示:

file has vanished: "/pool/main/g/gcc-snapshot/.gcc-snapshot_20120625-1_s390x.deb.1cqlSA" (in debian)
rsync warning: some files vanished before they could be transferred (code 24) at main.c(1518) [generator=3.0.9]

如果出现此错误,镜像存储库中将出现两个以“ Archive-Update-in-Progress-”和“ Archive-Update-Required”开头的文件。似乎在从上游同步时更新了一些文件。如果我再次手动运行“ftpsync”脚本,两个文件都会消失,问题将得到解决。

除了手动再次运行脚本之外,您还有什么办法可以解决这个问题吗?谢谢。

答案1

你可以将 ftpsync 包装在 shellscript 中,如下所示:

#!/bin/sh
ftpsync
while [ -f /pool/main/Archive-Update-In-Progress ]; do
   sleep 600
   ftpsync
done

这将更新 repo 直到另一端的 Archive-Update 完成。

答案2

据我所知:你不能!只有知道这些文件是什么样子的,你才能将它们从 rsync 调用中排除。

看起来这些文件是临时文件,在文件传输过程中会消失。

相关内容