Независимо от того, являетесь ли вы администратором или обычным пользователем, вам, скорее всего, потребуется регулярно создавать резервные копии ваших файлов или синхронизировать их между несколькими системами. Если эта задача требует каждый раз перезаписывать все файлы, это будет для вас трудоемким и утомительным; Здесь вам на помощь придет инструмент Linux Rsync to удаленный сервер. Это руководство познакомит вас с наиболее полезными командами Rsync, которые позволят вам использовать его быстрые и безопасные функции.
Что такое утилита Rsync?
Удаленная синхронизация (Rsync) — это известная команда Linux/Unix, которую можно использовать для копирования и синхронизации файлов и каталогов через удаленный доступ или локально. Использование команды Rsync позволяет выполнять различные задачи, связанные с данными, такие как синхронизация, копирование и получение резервных копий. Кроме того, вы можете зеркально отразить свою систему Linux на другую.
Основная идея использования Rsync для удаленного сервера состоит в том, чтобы воспользоваться преимуществами быстрой передачи файлов; для преобразования данных между двумя источниками учитываются только различия между ними. Другими словами, использование команды Rsync поможет вам избежать потери времени на слепую передачу данных, поскольку она просто учитывает различия между двумя системами Linux.
Зачем использовать Rsync?
Как вы, возможно, уже знаете, доступны различные инструменты резервного копирования. Вопрос в том, что делает инструмент Rsync уникальным по сравнению с другими утилитами или командами?
Например, вы можете использовать Протокол передачи файлов (FTP) иметь локальную копию вашего веб-сайта или SCP (протокол безопасного копирования) для этой задачи. Однако оба эти варианта имеют недостатки. FTP не включает шифрование данных, а это не то, на что мы надеемся, и хотя у SCP нет проблем с незашифрованной передачей, как у FTP, передача все равно требует больше времени, поскольку для этого создается туннель.
Поэтому в качестве альтернативного решения этих проблем мы можем использовать Rsync для удаленного сервера с шифрованием на основе ключей (просто называемым Rsync SSH или Rsync over SSH), который предотвращает отправку дублированных данных и использует ключ SSH. Также следует отметить, что Rsync использует сжатие и распаковку для приема и отправки данных, что приводит к меньшему использованию полосы пропускания.
Как установить Rsync?
Вероятно, в вашей системе уже установлен Rsync; тем не менее, давайте углубимся в подробности. Прежде чем сделать это, обратите внимание, что SSH уже должен быть установлен как в исходной, так и в целевой системе, поскольку мы хотим использовать Rsync поверх SSH.
Шаг 1. Проверка версии SSH
Вы можете проверить версию SSH с помощью следующей команды:
ssh -V
Для Rsync с удаленным сервером вам понадобится локальный сервер, т. е. источник, и удаленный сервер. Вам также следует убедиться, что локальный сервер имеет права администратора (sudo).
Шаг 2. Установка Rsync Linux
Следующая команда позволит вам установить Rsync в Ubuntu, Linux Mint и Debian:
sudo apt install rsync -y
Если вы используете другие дистрибутивы Linux, такие как Fedora, CentOS, AlmaLinux и Red Hat, введите следующую команду, чтобы установить службу Rsync для удаленного сервера в вашей системе:
sudo dnf install rsync
Примечание. apt — это полезный инструмент для установки пакетов, используемый в дистрибутивах на основе Debian.
Шаг 3. Запуск Rsync
Теперь вам нужно запустить, а затем включить Rsync, чтобы начать его использовать с помощью следующих команд:
sudo systemctl start rsync
sudo systemctl enable rsync
Шаг 4. Проверка установки Rsync
Введите следующую команду, чтобы убедиться, что вы правильно установили Rsync, и проверить, какую версию вы используете в своей системе Linux:
rsync --version
В следующем разделе мы обсудим, как использовать возможности этого инструмента для создания резервных копий с помощью аутентификации на основе ключей.
Как создавать резервные копии с помощью Rsync через SSH?
Создание инкрементных резервных копий — один из вариантов использования Rsync через SSH. Пожалуйста, обратите внимание на следующую команду, чтобы понять, как она работает:
rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Выполнение приведенной выше команды поможет вам синхронизировать исходный каталог и пункт назначенияDir. Эта команда включает в себя другие параметры, с которыми вы должны быть знакомы, например -а (архив) и -v (многословный). Обратите внимание, что -е сш опция требует, чтобы соединение Rsync осуществлялось по протоколу SSH.
Если вы хотите SSH-соединение чтобы быть принятым через порт, отличный от порта по умолчанию (порт 22), вам необходимо указать номер порта после -э сш. Посмотрите на следующую команду, чтобы понять, как она работает.
rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir
В приведенной выше команде мы предполагаем, что хотим использовать 1998 в качестве порта SSH, а не 22.
У Rsync с удаленным сервером через SSH есть и другие варианты, которые могут быть весьма полезны. Например, используя –частичный Опция позволяет продолжить предыдущую частичную передачу в случае таких проблем, как прерывание Rsync. Вы также можете узнать текущий процесс передачи файлов через –прогресс вариант. Кроме того, утилита Linux Rsync to Remote Server позволяет использовать эти две функции одновременно. Для этого вы можете использовать -p флаг в командной строке.
rsync -avP -e ssh /sourceDir/ user@remote:/path/to/destinationDir
Rsync с удаленным сервером с помощью ключевой команды позволяет сжимать данные перед их передачей в пункт назначения. Несмотря на то, что для завершения сжатия будет использоваться ваш процессор, это все равно очень полезно, поскольку ускоряет передачу файлов и требует меньшего использования полосы пропускания.
Вы можете использовать команду Rsync для копирования файлов и каталогов, удаленных или локальных. Основное преимущество Rsync заключается в том, что он основан на алгоритм дельта-передачи, что предотвращает копирование дублированных данных из источника в место назначения. Как упоминалось ранее, эта функция утилиты Rsync to Remote Server поможет вам, если вы хотите выполнять ежедневное резервное копирование и зеркалирование системы. Имея это в виду, давайте использовать команду Rsync для локальных случаев использования.
Как использовать Rsync для локальной синхронизации?
Прежде чем мы углубимся в локальную синхронизацию и способы использования для нее команды Rsync, вы должны знать общую структуру локальной синхронизации, которая показана ниже:
rsync [options] [Source] [Destination]
Копирование файлов локально
Предположим, мы хотим синхронизировать или скопировать файл из каталога рабочего стола (называемого Cloudzy) к /домашняя/Публикация папка; вот что вам нужно ввести:
rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public
Приведенная выше команда Rsync включает три параметра: -zvh; используя -z, ваш файл будет сжат во время передачи. v вариант означает подробный вывод, а вариант h это то, что помогает нам читать выходные данные как люди, то есть отображать удобочитаемые выходные данные.
Копирование каталогов локально
Если мы хотим скопировать каталог рабочего стола (называемый Cloudzy) к /домашняя/Публикация папка; вам нужно ввести следующую команду:
rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public
The -a Опция в этой команде архивирует каталоги и файлы во время синхронизации.
Вы можете быстро проверить список каталогов для папки назначения, чтобы проверить, скопирован ли каталог или нет. Для этого используйте следующую команду:
ls -ld /home/Public
Синхронизация файлов и каталогов рекурсивно и локально (рекурсивный Rsync)
Что делать, если в папке было несколько каталогов и файлов? /рабочий стол/Cloudzy, и вы хотели скопировать их рекурсивно с помощью команды Linux Rsync?
В этом случае вы используете -р опция для рекурсивной синхронизации ваших локальных файлов и каталогов. Вы также можете использовать опция архива (-a) поскольку у него есть и другие варианты использования, такие как рекурсивное копирование. Ознакомьтесь со следующей командой, чтобы ознакомиться с рекурсивными командами Rsync.
rsync -zrvh /desktop/Cloudzy /home/Public
Or
rsync -zrvh /desktop/Cloudzy /home/Public
Копирование каталогов и файлов из локальной системы в удаленную
Помимо Linux Rsync с характеристиками удаленного сервера, о которых мы упоминали в предыдущих разделах, эта известная команда также позволяет синхронизировать файлы и каталоги с локального компьютера с удаленной системой.
Предположим, мы хотим скопировать папку (/desktop/Cloudzy/новая папка) с локальной машины на удаленную систему (с 192.168.1.79) под /mycpt; вот пример, показывающий, как это работает:
rsync -zarvh /desktop/Cloudzy/newfolder [email protected]:/mycpt
Как скопировать каталоги без их файлов с помощью Rsync?
В некоторых случаях мы можем захотеть использовать Linux Rsync для удаленного сервера для копирования каталогов без файлов; эта синхронизация может осуществляться с удаленного компьютера на локальную систему или наоборот.
В этой статье мы использовали удаленную систему по адресу 192.168.1.79. Предположим, у нас есть это под /mycpt папку и хотите скопировать /рабочий стол/Cloudzy каталог из локальной системы, не включая его файлы. Для этого введите следующую команду:
rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/
Другие полезные команды Rsync
Здесь мы обсудим некоторые дополнительные команды Linux Rsync, которые могут вам пригодиться.
Определить максимальный размер для передачи файлов в Rsync
Вы можете определить предельный размер для передачи файлов с помощью команды Rsync, которая полезна, когда вы регулярно запускаете Rsync на удаленном сервере и локальном компьютере, где пропускная способность и время являются важными факторами, которые следует учитывать. Обратите внимание на следующую команду, чтобы ознакомиться с настройкой ограничений размера при передаче файлов Rsync:
rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public
Определить минимальный размер для передачи файлов в Rsync
Так же, как и установка максимального размера для передачи файлов, вы можете определить минимальный размер файла, который вы хотите передать с помощью Rsync на инструмент удаленного сервера. В приведенной ниже команде мы установим минимальный размер файла 10 КБ:
rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public
Удалить файлы из источника после завершения синхронизации
Как только вы закончите использовать команду Rsync, вам, возможно, больше не понадобится файл в исходной системе. В этом случае вы можете использовать команду Linux Rsync, как показано ниже, чтобы удалить файлы из источника:
rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Синхронизация пробного прогона
Если вы впервые пользуетесь утилитой Linux Rsync и не знакомы с ее параметрами, пробный ход это правильный путь. Когда вы используете пробный прогон с Rsync, он не изменяет файлы, но показывает вам выходные данные команды. Убедившись, что хотите запустить команду, вы можете удалить – пробный ход вариант из него и выполните его на терминале. Посмотрите следующую команду, чтобы узнать больше о функции пробного запуска.
rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
Резюме: использование команд Linux Rsync
В этой статье объясняется, как использовать возможности Linux Rsync с удаленным сервером (и Rsync с локальным сервером) для различных вариантов использования, включая зеркалирование системы, создание резервных копий файлов и копирование файлов и каталогов локально и удаленно с использованием эффективного подхода. Эта известная команда Linux позволяет вам воспользоваться быстрой передачей файлов, одновременно позволяя использовать SSH и сжатие данных.
Приобретите Linux VPS эконом- или премиум-класса для размещения вашего веб-сайта или удаленного рабочего стола по самой низкой цене. VPS работает на Linux KVM для повышения эффективности и работает на мощном оборудовании с SSD-накопителем NVMe для повышения скорости.
Читать далееВы можете максимально эффективно использовать возможности этой операционной системы, приобретя Linux VPS решение от Cloudzy, позволяющее вам воспользоваться планами хостинга на базе KVM. Мы с гордостью предлагаем вам высокопроизводительные услуги VPS с временем безотказной работы 99,95%, стабильностью, минимальной задержкой, центрами обработки данных по всему миру (12 локаций), сверхбыстрым SSD-хранилищем и круглосуточной технической поддержкой. Вы можете начать использовать свой Linux VPS за 4,95 доллара США и масштабировать его, если вам нужно более продвинутое решение.
Часто задаваемые вопросы
Какой порт TCP использует Rsync?
SSH обычно использует порт 22 в качестве порта по умолчанию. Следовательно, при использовании rsync через SSH он будет работать на этом конкретном порту. С другой стороны, при использовании демона Rsync будет использоваться порт 873.
Что такое Рсинк?
Rsync — это утилита Linux, которая может синхронизировать файлы и каталоги удаленно или локально. Использование команды Rsync позволяет выполнять различные задачи, связанные с данными, такие как синхронизация, копирование и получение резервных копий.