Какая команда rsync позволяет «умно» объединить две папки?

Какая команда rsync позволяет «умно» объединить две папки?

У меня есть несколько папок, которые по ошибке продублировались, и мне нужно объединить их. Допустим, папка A содержит файл X, а папка B содержит файл Y, я хотел бы скопировать файл X в папку B. Но, конечно, я могу столкнуться с более сложными случаями, когда обе папки A и B содержат один и тот же файл X: в таких случаях я хотел бы сохранить самую новую копию файла, поэтому rsync должен сравнить оба файла, и если исходный файл старше, просто пропустить его, в противном случае местом назначения будет более старый файл, перезаписать.

Какие параметры следует указать в командной строке rsync?

Это то, что я нашел в Google, но я не думаю, что это правильно.

rsync -avz --ignore-existing src dest

Страница руководства мне как-то не понятна.

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

решение1

Я хотел бы использовать:

rsync -abviuzP src/ dest/
  • -iвключает подробный формат, который показывает больше информации, чем формат по умолчанию
  • -bделает rsync резервные копии файлов, которые существуют в обеих папках, добавляя их ~к старому файлу. Вы можете управлять этим суффиксом с помощью--suffix .suf
  • -uзаставляет передачу rsync пропускать файлы, которые в dest новее, чем в src
  • -zвключает сжатие, что полезно при передаче легко сжимаемых файлов по медленным каналам связи
  • -Pвключается --partialи--progress
  • --partialзаставляет rsync сохранять частично переданные файлы, если передача прерывается
  • --progressпоказывает индикатор выполнения каждой передачи, полезно при передаче больших файлов

Связанный контент