我正在Windows 10主机上通过rsync version 3.0.8运行cp 8.32和git-bash。我有一个git服务器运行在一个容器中,它使用连接到主机的硬盘驱动器。现在,我尝试备份该服务器文件,无论我使用rsync还是cp,都会失败。
我可以将其缩小到硬盘上确实存在的文件,但是在传输时,它是作为备份驱动器上的空文件创建的。
以下是我所尝试的:
$ cd /backup_drive && \
> rsync \
> --verbose \
> --checksum \
> --archive \
> --delete \
> --progress \
> "../server_drive/git-server/repo/objects/pack" \
> "../backup_drive/server_drive/git-server/repo/objects"
sending incremental file list
pack/
pack/pack-558bb0397370ee5026dd0ce32579908064ed9e72.pack
-24729119 100% 0.00kB/s 0:00:00 (xfer#1, to-check=2/5)
sent 319 bytes received 41 bytes 48.00 bytes/sec
total size is 5794386858 speedup is 16095519.05(使用cd是因为git-bash将自动添加冒号时出现问题)。
或
cp \
--force \
--recursive \
--verbose \
--update \
"/server_drive/git-server/repo/objects/pack" \
"/backup_drive/server_drive/git-server/repo/objects"这两个命令都退出,0表示没有错误。但是,当我比较SHA-256散列时,它们显然是不同的,因为文件中缺少字节。
有趣的是,如果我手工复制Windows上的文件,它就能正常工作。
会导致什么后果?我如何通过rsync或cp备份该文件?
发布于 2022-10-29 08:06:49
另一种选择是:
git bundle:cd /path/to/baritory.git包创建reponame.bundle --all
复制一个文件要比许多小文件容易得多,其中一些文件可能由进程句柄保存,从而防止rsync访问/读取它们。
https://stackoverflow.com/questions/74243430
复制相似问题