яка команда rsync для "розумного" об'єднання двох папок?


39

У мене є кілька папок, які дублюються помилково, і я повинен їх об'єднати разом. Скажімо, папка A містить файл X і папка B містить файл Y, я хотів би отримати файл X, скопійований у папку B. Але, звичайно, я можу зіткнутися з більш складними випадками, коли fi і папки A і B містять один і той же файл X : у цих випадках я хотів би зберегти найновішу копію файлу, тому rsync повинен порівняти обидва файли, а якщо походження старіше, просто пропустити, інакше цільове призначення - старіше, перезапишіть.

Які параметри слід поставити в командному рядку rsync?

Це те, що я виявив googling, але я не думаю, що це правильно.

rsync -avz --ignore-existing src dest

Сторінка людини якось поза мною.

Дякую.

PS у тих випадках, коли файл існує в обох папках, краще було б перезаписати старіший у цільову папку і в той же час зберегти копію старшої, як резервну копію, якщо ви повернетесь до Попередній

Відповіді:


66

Я б використав:

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

2
Дійсно добре, я закінчила використанняrsync -abuP
qed
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.