我想存储rsync附带的--password-file选项。我不想使用ssh public_private密钥加密。我试过这个命令:
rsync -avz --progress --password-file=pass.txt source destination
这说:
The --password-file option may only be used when accessing an rsync daemon.
所以,我尝试使用:
rsync -avz --progress --password-file=pass.txt source destination rsyncd --daemon
但这会返回各种错误,例如未知选项。我的sytanx是否正确?如何在我的Debian机器中设置rsync守护程序。
答案 0 :(得分:2)
这是正确的,
- password-file 仅在将 连接到 rsync守护程序时适用。
您可能没有在守护程序本身中设置它,您设置的密码和您在该呼叫期间使用的密码必须匹配。
编辑/etc/rsyncd.secrets,并将该文件的所有者/组设置为root:root with world reading permissions。
#/etc/rsyncd.secrets
root:YourSecretestPassword
要连接到rsync守护程序,请使用双冒号后跟模块名称,以及要同步的文件或文件夹(而不是使用SSH时的冒号),
RSYNC_PASSWORD="YourSecretestPassword"; rsync -rtv user@remotehost::module/source/ destination/
注意:
答案 1 :(得分:0)
rsync -arv -e \
"sshpass -f '/your/pass.txt' ssh -o StrictHostKeyChecking=no" \
--progress /your/source id@IP:/your/destination
也许你必须安装" sshpass"如果你没有。
答案 2 :(得分:0)
尝试了一段时间后,我开始使用它了。由于我将自己的实时服务器(和路由器数据)从我的实时服务器(和路由器数据)复制到我的笔记本电脑中作为备份用户的本地服务器,所以密码没有问题,因此它的安全连接在我的笔记本电脑上。首先,如果Centos使用yum install sshpass
,则需要安装sshpass,然后创建用户备份并分配临时密码。我列出了-p选项,以防您的ssh端口不同于默认端口。
sshpass -p 'password' rsync -vaurP -e 'ssh -p 2222' backup@???.your.ip.???:/somedir/public_data/temp/ /your/localdata/temp
了解SSH RSA是一种更好的永久替代方案,而所有这些,但这是在旅途中进行备份和还原的快速替代方案。如果您不太担心安全性,而是更关心在本地备份数据(如紧急数据恢复),则可以使用该方法。您的用户备份密码可以在备份完成后更改。当您的服务器更改IP,用户及其不变的修改时(例如路由器更改配置和非静态IP),以及当路由器不在本地且您要在本地备份客户端服务器(而您始终无法访问)时,设置起来的速度要快得多做SSH。我的一些客户甚至没有安装SSH,他们也不想麻烦创建公钥。在某些服务器上,只有您可以临时访问它。顺便说一句,如果您要进行还原,不需要大的改动,您可以在同一命令外壳中反转目标和源目录的顺序,并在目标上创建另一个具有相同临时密码的备份用户。完成后,删除备份用户或更改它在目标服务器和/或源服务器上的密码。您可以做进一步的保护,就像我所做的那样,在多服务器环境中使用bash脚本替换一个行文件的密码。替代方法是使用-f选项,以便密码不显示bash历史记录-f "/path/to/passwordfile"
问候
注意:如果只想更新修改过的文件,则应使用此参数 -h -v -r -P -t ,如此处https://unix.stackexchange.com/questions/67539/how-to-rsync-only-new-files
所述