我通常使用图形 SSH 客户端来同步本地和远程目录。而且我必须将所有文件的所有权设置root为www-data.
我可以对 Rsync 做同样的事情,只是我这样做www-data而不是root,这样我就不必在之后设置所有权?
不清楚你想做什么,所以让我假设你希望本地文件归用户 A 所有,远程文件归用户 B 所有。 如果你以用户 A 身份运行以下命令:
rsync [options] B@remote.system:/path/to/remote/dir /path/to/local/dir
Run Code Online (Sandbox Code Playgroud)
这将有你想要的效果。但这并不是一个真正的 rsync 问题(所以我没有详细说明上面的命令会做什么,我专注于你的问题);即使使用图形 SSH 客户端,如果您以用户 A 身份运行它并将其设置为以用户 B 身份登录到远程系统,您也应该能够做到这一点。
小智 5
如果您以 root 身份运行,请使用 rsync 中内置的 chown 选项:
sudo rsync --chown=www-data:group user@remoteIP:/var/www/html/ /var/www/html
Run Code Online (Sandbox Code Playgroud)
(将“group”替换为您想要的组,或者仅使用 --chown=www-data,同时替换 user、remoteIP 并根据您的喜好更改文件夹)
如果您不以 root 身份运行该命令,则文件所有权不会更改,因为您需要 sudo。因此,您确实必须以 www-data 的形式运行该命令,但这会导致其他复杂情况。
| 归档时间: |
|
| 查看次数: |
35837 次 |
| 最近记录: |