Оглавление
RSync – потрясающая по своей простоте и возможностям программа. позволяющая синхронизировать файлы и папки между компьютерами. Недавно мне довелось использовать ее для копирования только новых файлов на принимающую сторону. И это заметка про то как это делать.
Копирование с локального на удаленный компьютер
Помните, что все команды описанные здесь относятся к копированию с локального на удаленный компьютер.
Поведение по умолчанию
Следующая команда рекурсивно скопирует все файлы с локальной файловой системы из папки /var/www на удаленный ПК 10.1.1.1:
rsync -raz --progress /var/www 10.1.1.1:/var
При этом:
- Все файлы, которых нет в удаленной системе будут скопированы.
- Все файлы, которые были обновлены будут также скопированы. При этом имейте ввиду, что rsync делает это очень эффективно, для измененных файлов будут скопированы только недостающие части, а файлы которые уже есть в папке назначения скопированы не будут
- Если файл удален в папке отправления, он будет удален в папке назначения
Игнорирование существующих файлов
Используйте ключ –ignore-existing чтобы пропустить копирование файлов существующих в папке назначения:
rsync --ignore-existing -raz --progress /var/www 10.1.1.1:/var
Таким образом, мы проводим копирование без п.2 и п.3 из предыдущего примера, то есть копирование будет проведено только с:
- Все файлы, которых нет в удаленной системе будут скопированы.
Ссылки
https://electrictoolbox.com/rsync-ignore-existing-update-newer/