所以我有这个工作stream程,但是很笨拙“
RSYNC到ultrapress.co
rsync -azP --delete /Users/rocketadmin/Sites/vagrant-local/www/wordpress-default/wp-content/themes root@107.170.237.162:/var/www/ultrapress.co/htdocs/wp-content/
rsync -azP --delete /Users/rocketadmin/Sites/vagrant-local/www/wordpress-default/wp-content/plugins root@107.170.237.162:/var/www/ultrapress.co/htdocs/wp-content/
================================================== ===========
然后修复所有权
sudo chown -R www-data:www-data /var/www
我想知道在rsync中使用什么参数,所以我没有chown我的www文件夹每次我同步先谢谢您的指导…
你有3种方法来做到这一点:
您可以使用粘性位来确保在/var/www/ultrapress.co下创build的所有内容都由www-data用户/组拥有。
为此,在服务器上设置这些权限:
chown ultrapress.co www-data:www-data chmod u+s ultrapress.co chmod g+s ultrapress.co
现在,每当有用户在这个目录下创build一个新的目录或文件,它就会有www-data的用户和组。
您也可以在所有现有的子目录上设置粘性位:
find ultrapress.co -type d -exec chmod u+s,g+s '{}' +
或者,将sticky位设置为/var/www
目录:
chmod u+s,g+s /var/www
如果您有权访问rsync v.3.1.0或更高版本,那么–chown选项应该是您要查找的内容:
rsync -azP --chown=www-data:www-data [src] [dst]
注意: -o和-g选项是必需的,当然,它已经通过你设置的-a选项包含了。
更多信息可以通过在这里类似的问题的答案find: Rsync命令问题,所有者和组权限不会改变
做这种事时我常用的做法是做
rsync <options> www-data@remote-host
然后,我使用远程服务器上的www-data的 SSH密钥身份validation。
我个人也运行本地脚本作为万维网数据 ,因为我发现更合乎逻辑。