Linux

Резервное копирование данных с помощью Rsync (не требуется рабочего стола)

Резервное копирование данных с помощью Rsync (не требуется рабочего стола)

Rsync довольно прост: это инструмент, который специализируется на копировании файлов. Для нас это означает, что rsync устраняет многие неудобства, связанные с резервным копированием вручную. Это приводит к более плавному процессу резервного копирования, по сравнению с использованием команд управления файлами, встроенных в терминал Linux.

Например, rsync распознает неизмененные файлы из последней передачи и экономит время, не перезаписывая их. Другие вещи, такие как возможность сжатия ваших файлов, также делают ваши резервные копии более эффективными. Хотя такого рода вещи теоретически можно сделать вручную, rsync объединяет все эти задачи в одном удобном инструменте. .

Мы уже рассмотрели Grsync в прошлом, но знание того, как использовать инструмент для его работы (то есть rsync), может оказаться ценным активом. Надеемся, эта статья продемонстрирует вам, что использование rsync без графического бэкэнда — довольно простая задача.

Основы Rsync

Все команды rsync в основном одинаковы, поэтому их должно быть достаточно легко подобрать. Вот самая простая команда, которая просто копирует содержимое одной папки в другую:

rsync -r -u -v ~/Source-Folder / ~/Copy-Folder 

rsync basic

Опция -r означает « рекурсивный ». Проще говоря, без этой опции rsync игнорирует файлы, которые хранятся в папках, то есть не будет копировать все. Мы добавили опцию -u (для « обновления »), чтобы ваши переданные файлы не перезаписывали файлы в целевой папке, которые более актуальны. Например, если вы отредактировали файл в папке переноса, но не в исходной папке.

Опция -v (для « verbose ») позволяет увидеть, что сделал rsync, что хорошо для мониторинга его поведения и действий. В этом нет особой необходимости, но вы можете оценить дополнительную информацию — без нее rsync будет намного тише.

Для более продвинутых форм резервного копирования все, что нам нужно сделать, это добавить дополнительные опции (то есть — [письмо] ) в rsync. Вы можете фактически собрать все эти буквы в один большой параметр (например, -ruv ), если хотите сэкономить место. Просто не забудьте вставить их, прежде чем указывать ваши папки!

Выбор ваших резервных каталогов

Как вы видели выше, вы сначала выбираете папку, из которой вы хотите копировать файлы, а затем выбираете, куда вы хотите их скопировать. Также обратите внимание на конечный / в конце исходной папки. Это гарантирует, что вы копируете только содержимое папки, а не саму папку. Вы можете пропустить эту косую черту, если хотите взять с собой папку.

Полезный совет: символ ~ / обозначает вашу домашнюю папку. (где хранятся папки «Документы», «Рабочий стол», «Загрузки», «Музыка» и т. Д.). Это намного быстрее, чем просто указание полного местоположения вашей исходной папки, и это не зависит от имени пользователя.

Исключение файлов и папок с rsync

Иногда вы не хотите создавать резервные копии целых папок с данными, и rsync может справиться и с этим. Помимо выбора более определенных папок для копирования, вы также можете использовать опцию –exclude, чтобы пропустить их. Это позволяет вам rsync игнорировать выбранную папку, файл или шаблон.

 rsync -ruv --exclude 'Subfolder' ~/Source-Folder/ ~/Copy-Folder 

исключение папки rsync

Как вы можете видеть выше, каталог подпапок не был перенесен. Вы также можете исключить файлы с этим: просто введите его имя в кавычках.

Чтобы остановить передачу нескольких похожих файлов / папок, используйте символ * с параметром –exclude . Это действует как замена для любого другого имени файла.

 rsync -ruv --exclude '*.txt' ~/Source-Folder/ ~/Copy-Folder 

rsync шаблон исключения

Эта команда означала, что rsync игнорировал все файлы, которые заканчивались на .TXT и копировались только в папку. Символ * действует как подстановочный знак — он представляет все потенциальные слова и буквы, которые вы можете в этом примере назвать TXT-файлом. Это базовый шаблон исключения для rsync.

Есть кое-что важное, что вы должны знать об исключениях: они расположены относительно вашего источника копирования! Проще говоря, вам нужно сообщить rsync положение исключаемых файлов относительно того, куда вы решили скопировать ваши файлы . Вот пример этого в игре:

rsync специфическое исключение

Поскольку мы копируем данные из каталога Source-Folder , нам не нужно указывать, где именно находится каталог Subfolder . Это прямо внутри. Однако, если мы затем хотим исключить File-1.txt из этой папки, нам нужно указать его местоположение с каталогом «Source-Folder» в качестве его корня. Имейте это в виду, если вы обнаружите, что исключение не выполняется!

Создание резервных копий быстрее с rsync

Как указывалось ранее, rsync может сжимать файлы, которые копирует, а затем распаковывать их на другом конце. Это сделано для того, чтобы уменьшить объем передаваемых данных, необходимых для копирования файла, и тратить время на использование процессора, необходимое для сжатия. Итак, если вы работаете на ноутбуке и хотите сэкономить заряд батареи , вы можете не захотеть использовать это.

 rsync -ruv -z ~/Source-Folder / ~/Copy-Folder 

rsync сжатие

Все, что мы делаем здесь, это добавляем опцию -z к rsync: это представляет опцию сжатия. Это сокращенно от zlib , программного обеспечения, которое rsync использует для этого. По сути (каламбур) он архивирует ваши файлы из одного места в другое.

Чтобы увидеть улучшения в скорости передачи, просто посмотрите на вывод rsync. В частности, « ускорение [x] » (измеряется в секундах). Используйте это в качестве индикатора того, стоит ли сжимать ваши резервные копии файлов. Каждый компьютер индивидуален!

Тестирование Воды

Прежде чем прыгнуть в глубокий конец и правильно использовать rsync, всегда хорошо сначала выполнить пробный прогон . Это позволит вам увидеть, что именно rsync будет копировать и куда, до того, как данные будут скопированы. Все, что вам нужно, это добавить опцию -n (сокращение от « без изменений ») к вашей команде, чтобы выполнить тестовый запуск:

 rsync -ruv -n ~/Source-Folder/ ~/Copy-Folder 

rsync всухую

Как показано на рисунке выше, файлы фактически не передаются. Тем не менее, вы все равно сможете увидеть, что произошло бы, если бы вы пропустили опцию -n . Из-за этого пробный прогон в rsync является чрезвычайно быстрым и легким предупредительным шагом, особенно если вы используете много опций, связанных вместе.

Идти дальше

Надеемся, что эта статья предоставила вам ноу-хау, необходимое для быстрого и эффективного резервного копирования данных из командной строки. Тем не менее, rsync — чрезвычайно универсальный инструмент, поэтому, если вы обнаружите, что потребности в резервном копировании превышают потребности этого руководства. , не бойтесь вводить эту команду:

 man rsync 

руководство по rsync

В документе, который вы видите, подробно рассматриваются все варианты, описанные здесь, а также многие другие. Например, объясняется, как исключить файлы по размеру, что полезно для фильтрации пустых или избыточных файлов.

Вы предпочитаете использовать командную строку для резервного копирования ваших данных? Почему или почему нет?

Похожие посты
Linux

8 лучших окружений рабочего стола Linux

AndroidIphone и ipadLinuxWindows

Окончательное руководство по включению темного режима везде

LinuxКак сделать

Что такое Swappiness в Linux? (и как это изменить)

LinuxКак сделать

Как использовать команду ls для вывода списка файлов и каталогов в Linux