Я использую rsync для репликации структуры веб-папок с локального сервера на удаленный сервер. Оба сервера - это ubuntu linux. Я использую следующую команду, и она хорошо работает:
rsync -az /var/www/ [email protected]:/var/www/
Имена пользователей для локальной системы и удаленной системы разные. Из того, что я прочитал, может быть невозможно сохранить всех владельцев и групп файлов и папок. Это нормально, но я хотел бы сохранить владельцев и группы только для пользователя www-data, который существует на обоих серверах.
Возможно ли это? Если да, как бы я это сделал?
** РЕДАКТИРОВАТЬ **
Существует некоторое упоминание о том, что rsync может сохранять права собственности и группы на удаленных синхронизациях файлов здесь: http://lists.samba.org/archive/rsync/2005-August/013203.html
** РЕДАКТИРОВАТЬ 2 **
В итоге я получил желаемое влияние благодаря многим полезным комментариям и ответам здесь. Предполагая, что IP-адрес исходного устройства равен 10.1.1.2, а IP-адрес конечного компьютера - 10.1.1.1. Я могу использовать эту строку с конечного компьютера:
sudo rsync -az [email protected]:/var/www/ /var/www/
Это сохраняет права собственности и группы файлов, имеющих общее имя пользователя, например www-data. Обратите внимание, что использование rsync
без sudo
не сохраняет эти разрешения.