Mar*_*rek 7 backup cygwin rsync chroot rsnapshot
我正在尝试配置 rsnapshot(使用 rsync)来备份 Windows 服务器,但是我遇到了 rsync 无法跟踪要备份的服务器上的符号链接的问题。
我使用以下脚本创建指向最新卷影副本卷的链接,以便 rsync 可以访问它:
#!/bin/sh
# Mount the latest shadow copy for the specified volume
VOLUME="D:"
LINK_NAME="E:\\latest-data-shadow-copy"
SHADOW_VOLUME=`vssadmin list shadows /for=$VOLUME | grep "Shadow Copy Volume:" | tail -1 | tr -s ' ' | cut -d ' ' -f5`
SHADOW_VOLUME+="\\"
rm $LINK_NAME
cmd.exe /c mklink /d "$LINK_NAME" "$SHADOW_VOLUME"
Run Code Online (Sandbox Code Playgroud)当我尝试运行 rsnapshot 来备份符号链接卷影副本卷上的数据时,它返回以下错误:
symlink has no referent: "/cygdrive/e/latest-data-shadow-copy"
Run Code Online (Sandbox Code Playgroud)
这是 rsnapshot 调用的 rsync 命令:
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r --rsh=/usr/bin/ssh 'user@windowsip:/cygdrive/e/latest-data-shadow-copy/data-folder/' /media/backup-drive-1/.sync/
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试使用scp
从符号链接的卷影复制卷复制文件,它可以正常工作:
scp user@windowsip:/cygdrive/e/latest-data-shadow-copy/data-folder/test-file.txt test-file.txt
Run Code Online (Sandbox Code Playgroud)
据我所知,这似乎表明 rsync 错误的原因是它正在 Windows 服务器上的 chroot 中运行,从而阻止它访问符号链接的卷影副本卷。
我尝试创建一个/etc/rsync.conf
并添加以下内容:
use chroot = no
Run Code Online (Sandbox Code Playgroud)
但它对错误没有影响。我认为这是因为这是我没有运行的 rsync 守护程序的配置文件。
rsync
访问符号链接的卷影副本而scp
可以毫无问题地访问文件?use chroot
rsync 设置,如果我没有运行 rsync 守护程序,我该如何更改它?提前感谢您的回复!
小智 1
我有类似的问题symlink has no referent:
根本原因是:链接指向不存在的地方。只是组织中的某人在创建链接后更改了文件系统结构,并且没有更新链接。
解决方案是以下之一:
--exclude '/cygdrive/e/latest-data-shadow-copy'
。这是被问到的“预防”方法,然而,也许不是最好的方法,所以提出了最后一个选项。 归档时间: |
|
查看次数: |
6876 次 |
最近记录: |