Итак, у меня есть рабочий процесс, который работает, но неуклюже "
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, чтобы я не переключал свою папку www каждый раз при синхронизации. Заранее спасибо за ваше руководство ...
Если у вас есть доступ к rsync версии 3.1.0 или позже, --chown вариант должен быть тем, что вы ищете:
rsync -azP --chown=www-data:www-data [src] [dst]
Обратите внимание -о и -грамм для его работы требуются опции, но, конечно же, они уже включены через -а вариант, который вы установили.
Более подробную информацию можно найти, ответив на аналогичный вопрос здесь: Проблемы с командой Rsync, права владельца и группы не меняются
Вы можете использовать липкие биты, чтобы убедиться, что все, что создается в /var/www/ultrapress.co, будет принадлежать пользователю / группе www-data.
Для этого на сервере выставляем такие разрешения:
chown ultrapress.co www-data:www-data
chmod u+s ultrapress.co
chmod g+s ultrapress.co
Теперь всякий раз, когда какой-либо пользователь создаст новый каталог или файл в этом каталоге, он будет иметь пользователя и группу www-data.
Вы также можете установить липкие биты во всех существующих подкаталогах с помощью:
find ultrapress.co -type d -exec chmod u+s,g+s '{}' +
Или, в качестве альтернативы, установите липкий бит на /var/www
каталог:
chmod u+s,g+s /var/www
У вас есть 3 способа сделать это:
Мой обычный подход к таким вещам - делать
rsync <options> www-data@remote-host
Затем я использую аутентификацию по SSH-ключу для www-data на удаленном сервере.
Лично я запускаю локальный скрипт как www-data тоже, поскольку я считаю это более логичным.