
У меня есть несколько папок, которые по ошибке продублировались, и мне нужно объединить их. Допустим, папка 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
показывает индикатор выполнения каждой передачи, полезно при передаче больших файлов