[rsync]обнаруживать перемещения и переименования
Он же синхронизирует согласно контрольной сумме файлаНу это он проверяет качать-не качать. Ну и при скачивании проверяет какие участки есть. А отслеживать перемещения вроде не умеет, да.
Как же тогда быть? Расход траффика немаловажен. rsync вроде как для экономии трафика и сделан. Иначе какой от него прок по сравнению с rm -fr && scp -r ?
поэтому надо использовать следующую тактику:
1) копируем структуру каталогов, на файлы делаем хардлинки. (самое простое - cp -al)
2) прогоняем rsync
3) удаляем старый каталог
4) PROFIT
естественно она не сработает, если надо перенести директорию с одного раздела на другой.
То есть ты хочешь сказать, что если у меня будет file1 в обоих местах, я потом в источнике сделаю file2 -> file1, то rsync таки просечёт и не станет его копировать, проделав то же на приёмнике? Но почему же он тогда не может прочечь перемещения, ведь это гораздо проще и нужнее?
насчет того просечет или нет - я рекомендую проверить, ибо я мог и перепутать с чем-нибудь другим, а мог и вообще не так все интерпретировать.
насчет того просечет или нет - я рекомендую проверить, ибо я мог и перепутать с чем-нибудь другим, а мог и вообще не так все интерпретировать.Честно говоря предложенный тобою вариант по-моему настолько неудобен, что удобнее и надёжнее будет повторять такие действия вручную в обеих локациях.
не нравится - не ешь. в случае если локаций больше двух и отсутсвует доступ к некоторым из них - вполне удобен.
не нравится - не ешьДа понятное дело. В любом случае спасибо за совет
В моём случае действительно локаций больше двух, но трафик критичен лишь до одной.
Оставить комментарий
dangerr
Обычно синхронизируюсь командойrsync -e ssh -aczl --delete --force $$rhost:$rdir $ldir
Всё прекрасно работает. Однако, недавно переименовал на источнике поддиректорию с парой гигов данных и обнаружил, что вместо того, чтобы также переименовать на приёмнике, rsync удалил и заново скачал эти несколько гигов. Он же синхронизирует согласно контрольной сумме файла, тогда в чём проблема найти файл с такой же контрольной суммой на приёмнике и просто перенести его в нужное место?
man и google уже обрыл, ничего не нашёл. Неужели никак нельзя такое автоматизировать?