Чому б не завжди використовувати rsync?


17

Я хотів запитати, чи є якась причина не використовувати rsyncдля всього і відмовитися cp?
Мені не було відомо, rsyncі зараз я не знаю, навіщо cpце потрібно.


9
rsyncнедоступний скрізь, cpє.
мат

3
Яка установка? Linux? Який? Unix? ditto. BSD? Ніколи не знаєш, що відбувається за замовчуванням.
terdon

5
Насправді немає "встановлення за замовчуванням" для Linux. Кожен дистрибутив має свій набір основних пакетів і безліч варіацій цих. Крім того, коли вам потрібно працювати над багатьма системами, використання інструментів, доступних скрізь, робить речі простішими.
мат

4
@Mat: Існує установка за замовчуванням (або основна), якщо відповідність Linux-дистрибутивів через базову користувальницьку систему GNU має POSIX, який вимагає (і визначає функціонування), cpале не rsync: pubs.opengroup.org/onlinepubs/007904875 /utilities/contents.htm
Золотоволоска

1
Я впевнений, що Debian GNU / Linux за замовчуванням встановлює rsync. Однак він не доступний у середовищі встановлення та порятунку. (Я використовував це рано сьогодні, щоб перенести вміст мого кореневого розділу з одного диска на інший. Використовував DVD для встановлення 7.1.0 amd64.)
CVn

Відповіді:


24

Строго кажучи, так, ви завжди можете використовувати rsync. З man rsync(наголос мій):

Rsync - це швидкий і надзвичайно універсальний інструмент для копіювання файлів. Він може скопіювати локально, в / з іншого хоста через будь-яку віддалену оболонку або в / з віддаленого демона rsync. Він пропонує велику кількість варіантів, які керують кожним аспектом його поведінки і дозволяють дуже гнучко визначати набір файлів для
копіювання. Він відомий своїм алгоритмом передачі дельти, який зменшує кількість даних, що надсилаються по мережі, передаючи лише відмінності між вихідними файлами та існуючими файлами у призначенні. Rsync широко використовується для резервного копіювання та дзеркального відображення та як покращена команда копіювання для щоденного використання.

Тепер, іноді просто не варто набирати цих декількох зайвих символів, аби використовувати танк, щоб убити муху. Крім того, rsyncчасто не встановлюється за замовчуванням, так що cpприємно мати.


Ви маєте на увазі не доступну як частину установки за замовчуванням, але окрему завантаження?
Джим

1
@Jim так, іноді вам потрібно встановити rsyncсебе залежно від системи, в якій ви опинитесь. Якщо у вас немає rootдоступу, це може бути важко. cpє POSIX і завжди буде там.
тердон

9
cpє частиною GNU coreutils, тому він завжди встановлюється в кожній системі Linux, а rsyncні.
Мартін фон Віттіч

1
sometimes it is just not worth typing those few extra characters- Я псевдонім pcp(для "копії прогресу") для цього;)
Ізката

19

Rsync може бути повільніше, ніж cpу деяких ситуаціях. Наприклад, коли місце призначення існує, а rsync в кінцевому підсумку виконує дорогі порівняння для кожного блоку, не знаходить рівних блоків і все одно копіює повний вихідний файл.

Крім того, коли файли призначення не існують, rsync не надає переваги вище cp.


1
Під ним методологія копіювання rsync значно повільніша. Дивіться unix.stackexchange.com/questions/374071/… . Дефіс cp показує (на цей текст) просту послідовність операцій зчитування 32 КБ / 32 КБ. Тим часом Rsync робить читання / 4092-байт + 4-байтне записування в сокет / читання з сокета / 250 КБ запису у файл. Я роблю rsync з 36T файлів змішаного розміру зі швидкістю 130 Мб / с. Я можу потроїти це за допомогою cp -a. rsync виграє, як ви говорите, коли ви хочете "зробити" це "схожим на" це "в каталогах, які вже схожі.
Mike S

7

Я думаю, rsyncщо не обробляє копіювання розрідженого файлу просто. cpза замовчуванням дуже добре справляється.


6
Це робиться з -Sпрапором.
terdon

2
@terdon, добре, будь ласка, зверніться до цієї статті: barricane.com/rsync-vm-sparse-inplace-kvm-vmware .
wcang

А, дякую, ви повинні додати це до своєї відповіді. Я просто швидко шукав сторінку чоловіка sparse.
terdon

4

Оскільки цього cpпрапора бракує rsync:

-i, --interactive
       prompt before overwrite (overrides a previous -n option)

Ні, хоча -nна rsync є (сухий прогон), який може бути замінником цієї функції.
Нілокт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.