我知道这里有很多关于这个主题的问题,但我还没有找到答案(经过多次研究)。
rsync
我必须通过命令行上传网络代码,如下所示:
rsync -rlvz --exclude-from=exclude_list.txt -e "ssh -i /home/user/.ssh/rsa -o -p $PORT" * user@$INSTANCE_IP:/home/public_html/foo/
这里的问题是,即使文件夹位于其中, rsync
也会将所有权从 更改为 ,__apache:apache__
并导致我们的生产网站停机。__user:apache__
/home/public_html/foo/
exclude_list.txt
有什么想法可以防止rsync
更改这些特定文件夹的所有权吗?
答案1
您需要将其运行为root
并使用该--chown
开关。
rsync -rlvz --chown=user:group your_options source destination
这将设置所有权以及您所需的用户和组。