Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование.
Админ (реклама): @XoDefender
Чат: @linuxcamp_chat
Менеджер: @Spiral_Yuri
Биржа: https://telega.in/c/linuxcamp_tg
РКН: https://clck.ru/3RWA3C
Post #319
5.82K

Шпора по флагам rsync
Rsync - программка, которую можно использовать для синхронизации файлов и каталогов с локального компьютера на удаленный и наоборот. Чем-то напоминает scp.
Взаимодействием с сервером возможности утилиты не ограничиваются. Все операции можно выполнять и локально. По умолчанию rsync копирует ресурсы без учета предыдущего содержимого целевого каталога.
Например, если вы перенесли каталог d, содержащий файлы a и b, на машину, на которой был файл d/c, то после копирования сервер будет содержать d/a, d/b и d/c.
Чтобы создать точную копию исходного каталога, необходимо из целевого каталога удалить не существующие в исходном каталоге файлы, например d/c в примере:
Посмотрим на еще 1 пример:
В результате выполнения, каталоги "dir1, dir2 и dir3", вместе со всем их содержимым, будут рекурсивно скопированы в каталог backup.
Если какие-то файлы уже есть в каталоге backup, и не были изменены, они будут пропущены.
Исключение файлов и каталогов
Еще одной значительной фичей rsync является способность исключать файлы и каталоги из процесса передачи.
Например, ты хочешь перенести локальный каталог src на хост и при этом исключить все данные с именем .git. Можно сделать следующим образом:
Чтобы базовые флаги всегда были под рукой, собрал небольшую шпору, сохраняем)
LinuxCamp | #utils
Rsync - программка, которую можно использовать для синхронизации файлов и каталогов с локального компьютера на удаленный и наоборот. Чем-то напоминает scp.
$ rsync file1 file2 ... user@host:dest
$ rsync -a dir host:dest_dir
Взаимодействием с сервером возможности утилиты не ограничиваются. Все операции можно выполнять и локально. По умолчанию rsync копирует ресурсы без учета предыдущего содержимого целевого каталога.
Например, если вы перенесли каталог d, содержащий файлы a и b, на машину, на которой был файл d/c, то после копирования сервер будет содержать d/a, d/b и d/c.
Чтобы создать точную копию исходного каталога, необходимо из целевого каталога удалить не существующие в исходном каталоге файлы, например d/c в примере:
$ rsync -a --delete dir host:dest_dir
Посмотрим на еще 1 пример:
$ rsync -avh --del --progress dir1 dir2 dir3 backup
В результате выполнения, каталоги "dir1, dir2 и dir3", вместе со всем их содержимым, будут рекурсивно скопированы в каталог backup.
Если какие-то файлы уже есть в каталоге backup, и не были изменены, они будут пропущены.
Исключение файлов и каталогов
Еще одной значительной фичей rsync является способность исключать файлы и каталоги из процесса передачи.
Например, ты хочешь перенести локальный каталог src на хост и при этом исключить все данные с именем .git. Можно сделать следующим образом:
$ rsync -a --exclude=.git src host:
Чтобы базовые флаги всегда были под рукой, собрал небольшую шпору, сохраняем)
LinuxCamp | #utils
- 🔥 22
- 👍 17
- ❤ 3










