我正在尝试使用rsnapshot来build立一个备份系统,将远程文件复制到本地文件。 我已经设置了rsnapshot,只要我能看到正确的,但是当我运行rsnapshot configtest它说
'backup web3:backups/ web3/ - Source directory "web3:backups/ " doesn't exist'
我正在使用的configuration行是:
backup web3:backups/ web3/
它在主机文件中使用别名。 但是,我也尝试使用IP地址,并在命令中定义用户名,但这两个都没有工作(同样的错误)。 我也检查过,并启用cmd_ssh并指向一个有效的文件。
有谁知道可能是什么原因造成的? 由于我已经设法使大部分的备份系统正常工作,所以我相当沮丧,我相信我之前也有过这样的工作。 我已经试过用ssh和rsync,并且都似乎认为web3:备份是一个有效的networking位置
首先testingconfiguration的语法会很好。
rsnapshot -c /usr/local/etc/rsnapshot.conf configtest
在我的情况下,“源目录…不存在”的问题是通过删除尾随空格来解决的。
虽然rsync的文档说,它接受一个主机:path参数,并使用rsh,我找不到证据在代码中的支持。
在发布你看到的消息之前,它对源参数做了一系列的testing:
解释:
if ( is_real_local_abs_path($src) ) elsif ( is_ssh_path($src) ) elsif ( is_anon_rsync_path($src) ) elsif ( is_cwrsync_path($src) ) elsif ( is_linux_lvm_path($src) ) else print "Source directory $src doesn't exist"
这些模式都不是你的主人:path
如果可以,请使用web3上的ssh或rsync守护进程。
对于其他在本地文件系统上出现此错误的人,确认目录确实存在时,确保遵循符号链接。 例如,我得到/ mydir的错误,它指向/ data / mydir,它存在于…但是实际上根本无法读取,因为encfs甚至从根目录隐藏用户安装的目录,而没有-o allow_others选项。
从rsnapshot文档
除了本地文件系统上的完整path之外,还可以使用rsync通过ssh备份远程系统。 如果您已经安装并启用了ssh(通过cmd_ssh参数),您可以指定一个path,如:
备份[email protected]:/ etc / example.com/
您需要将远程username@到string中,所以如果您以root身份login,那么您的configuration文件将需要:
backup root@web3:backups/ web3/
您可能还需要使用绝对path(例如, /root/backups/而不是仅backups/ )
我遇到了同样的错误,但事实certificate,这与无关的空白有关。
第一个备份语句和第二个备份语句之间有一个换行符。 此外,备份声明中还有一个空格,而不仅仅是制表符。