首先,我知道之前已经讨论过这个问题,但我似乎找不到可靠的解决方案......
我的远程服务器上安装了 CentOS 5 和 Plesk 面板,我需要备份网站。然后我有一个本地 CentOS 6 服务器,没有 cpanel(如果需要,只需安装 Webmin)。
我正在尝试使用 rsync 将我的网站从远程服务器备份到本地服务器。它可以正常使用来自服务器根目录的一些新文件夹,但我无法进入 www 目录。我收到权限错误。
命令是:
rsync -avz --progress [email protected]:/var/www/vhosts/site.com/httpdocs/ /_backups
然后它要求输入密码,我输入密码,登录后它显示:
rsync: link_stat "/var/www/vhosts/site.com/httpdocs/." failed: Permission denied (13)
通常,当我通过 ssh 登录到远程服务器时,我无法直接使用 进行登录,"root"
但我使用 登录后"adrian"
,ssh 窗口中会显示 adrian@site,然后我输入密码"su"
,系统会再次要求输入密码,然后我在 ssh 窗口中会看到 root@site。因此,我假设是因为这个原因,我无法直接使用 rsync[电子邮件保护]
有任何想法吗?
创建一个主目录位于 www 文件夹内的用户 adrian_rsync 是否可行?如果可以,我该怎么做?
或者有没有办法将“su”及其密码传递给 rsync 命令?
答案1
做这件事有很多种方法:
rsync
如果允许 root 登录并且 root 有密码,则使用 root 帐户。- 授予用户对所需文件/文件夹的读取权限。这可以通过将您的用户添加到具有读取权限的组来实现。例如,如果
nobody
组有权rx
访问此文件夹,您可以将您的用户添加到其中,nobody
这样就可以了。 - 通过 SSH 连接到服务器并以 root 身份复制此文件夹,并将 chown 更改为您的用户。然后,您可以远程 rsync 复制的版本(不方便)。