Rsync - Как отображать только измененные файлы - PullRequest
0 голосов
/ 04 февраля 2019

Когда мой коллега и я загружаем веб-проект PHP в производство, мы используем rsync для передачи файлов со следующими аргументами:

rsync -rltz --progress --stats --delete --perms --chmod=u=rwX,g=rwX,o=rX

Когда это выполняется, мы видим длинный список файлов, которые были изменены,Выполнение этого 2 раза подряд всегда будет показывать файлы, которые были изменены между двумя передачами.

Однако, когда мой коллега выполняет ту же команду после того, как я это сделал, он увидит очень длинный список всехфайлы меняются (хотя содержимое идентично), и это очень быстро.

Если он загрузит снова, то снова будет только минимальный вывод.

Так что мне кажется, что мы получаемправильный вывод, только показывающий изменения, но если кто-то еще загрузит с другого компьютера, rsync будет расценивать все как измененное.

Я полагаю, что это может иметь отношение к разрешениям файла или временам, но хотелось бы знатьКак решить эту проблему наилучшим образом.

Идея состоит в том, что мы видим только изменения, независимо от того, кто выполняет загрузку и в каком порядке.

Огромный список файлов довольно страшно видеть в огромномпроект, поэтому мы понятия не имеем, что на самом деле было изменено.

PS: Мы оба используем один и тот же пользователь @ сервер в качестве цели.

1 Ответ

0 голосов
/ 04 февраля 2019

t в вашей команде говорит, что нужно копировать временные метки файлов, поэтому, если они не совпадают, вы увидите, что они обновляются.Если вы считаете, что временные метки на ваших двух машинах должны совпадать, то проблема в другом.

Самый простой способ убедиться, что временные метки совпадают, - это rsync их вниз с сервера перед выполнениемВаши правки.

Между прочим, наличие двух человек, использующих rsync для обновления рабочего сервера, кажется подверженным ошибкам и хрупким.Вам следует подумать о том, чтобы поместить свои файлы в Git и отправить их на сервер таким образом (вам потребуется ловушка на стороне сервера, чтобы обновить рабочую копию для использования веб-сервером).

...