我终于有了一台运行 Ubuntu 11.10 的旧计算机作为备份服务器。我计划每周使用它通过 rsync 备份我的 Windows 7 计算机。我已经安装了 cygwin,并且 rsync 工作得很好。不过,我正在按照本指南将其创建为计划任务:
http://justinsomnia.org/2007/02/how-to-regularly-backup-windows-xp-to-ubuntu-using-rsync/
我在 C:\ 中有一个 rsync.bat 脚本,如果直接从 Cygwin 中的命令行运行它,我可以使该脚本正确运行。但是,当我尝试运行 rsync.bat 脚本时,我得到以下信息:
ERROR: password file must not be other-accessible
所以这一定是秘密文件的权限问题...我按照该指南将权限设置为 600,并将其设置为 Nate[管理员]:SYSTEM。
关于可能导致问题的原因有什么想法吗?
编辑:有问题的文件实际上位于 Windows 7 计算机上。我想我应该在这里问,因为我专门处理 Cygwin 和 Rsync。
经过一番谷歌搜索后,我发现有一个“严格模式”选项告诉 rsync 不要检查秘密文件的权限,并且添加该选项是为了适应 Windows 系统。但是,在添加它并重新启动 rsyn 守护进程后,我似乎仍然遇到相同的错误。这是我的 rysncd.conf 文件:
[rsync]
path = /home/nate/backups
comment = My backups
uid = nate
gid = nate
read only = false
auth users = nate
secrets file = /etc/rsyncd.secrets
strict modes = false
根据 cygwin 的说法,还有秘密文件的权限:
-rw------- 1 Nate SYSTEM 11 Dec 9 18:48 secret
我觉得我一定错过了一些非常明显的东西。
答案1
我可以通过将行更改password-file
为以下内容来解决此问题:
–password-file=/cygdrive/c/cygwin/secret
答案2
确保执行以下操作:
1) 将密码文件的模式更改为 -rw-------- ,例如在 Windows 上有一个密码文件 C:/Custom/syncjob/pwfile,使用 Cygwin,转到密码文件位置:
cd /cygdrive/c/自定义/syncjob
进而
chmod 600 ./pwfile
2) 还将密码文件的所有权更改为正在执行 rsync 作业的用户,例如“Dave”:
乔恩·戴夫./pw
3)将密码文件引用为 -password-file=/cygdrive/c/... 可能会有所帮助,就像 Nate 所写的那样。
我认为没有必要更改 rsync 配置。
Windows 的一个已知解决方法是附加
< 密码文件
到 rsync 命令的末尾。
祝你好运。
答案3
以上都没有帮助。最后我发现 pwfile 的行结尾应该如下所示:
$ od -c pwfile 0000000 个秘密 \n (Unix) 不是 0000000 个秘密 \r \n (Windows)