rsync

Как использовать rsync для копирования файлов

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

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

Мы объяснили команды и процедуры, упомянутые в этой статье, на Ubuntu 20.04 LTS. Вам понадобится терминал командной строки для копирования файлов с помощью rsync. Чтобы открыть приложение Терминала в командной строке, используйте сочетание клавиш Ctrl + Alt + T.

Установка Rsync

Rsync предустановлен в Ubuntu 20.04 LTS. Однако, если он случайно удален из системы, вы можете установить его следующим образом:

$ sudo apt установить rsync

Вот некоторые из часто используемых параметров, которые можно использовать с rsync:

-а: режим архива
-v: показывает детали процесса копирования
-p: показывает индикатор выполнения
-r: рекурсивно копирует данные
-z: сжимает данные
-q: подавить вывод

Копировать файлы и каталоги локально

Общий синтаксис rsync:

$ rsync [опция] [источник] [назначение]

Копировать один файл локально

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

Например, чтобы скопировать один файл «file1.txt »из текущего местоположения, то есть домашнего каталога, в каталог ~ / Documents, команда будет выглядеть так:

$ rsync / home / tin / file1.txt / home / tin / Документы

Примечание. Вместо «/ home / tin / file1».txt », мы также можем ввести« file1 », так как в настоящее время мы работаем в домашнем каталоге. Кроме того, мы можем использовать ~ / Documents вместо того, чтобы указывать полный путь как «/ home / tin / Documents».

Копировать несколько файлов локально

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

Например, чтобы скопировать файлы «file2.txt »и« file3.txt »из домашнего каталога в каталог ~ / Documents, команда будет выглядеть так:

$ rsync / home / tin / file2.txt / главная / олово / файл3.txt / home / tin / Документы

Чтобы скопировать все файлы с одинаковым расширением, вы можете использовать символ звездочки (*) вместо индивидуального указания имен файлов. Например, чтобы скопировать все файлы из домашнего каталога, заканчивающиеся на «.zip »в каталог ~ / Documents, мы будем использовать:

$ rsync / home / tin / *.zip ~ / Документы

Копировать каталоги локально

Если вы хотите скопировать каталог с его подкаталогом и всем содержимым из одного места в другое в вашей системе, вы можете сделать это, набрав rsync за которым следует исходный и целевой каталог.

Например, чтобы скопировать каталог «sample» в каталог «test /» в домашнем каталоге, команда будет выглядеть так:

$ rsync -av / home / tin / sample / home / tin / test

Примечание: указание «/» после исходного каталога копирует только содержимое каталога. Если мы не укажем «/» после исходного каталога, исходный каталог также будет скопирован в целевой каталог.

Как и в следующем выводе, вы можете видеть, что наш исходный каталог «sample» также копируется в целевой каталог (поскольку мы использовали «sample» вместо «sample /» в качестве исходного каталога).

Rsync поддерживает инкрементную передачу, как вы можете видеть в приведенном выше выводе, что он передает только файлы, которые являются новыми или обновленными.

Копировать файлы на основе максимального размера

Во время копирования мы также можем указать максимальный размер файлов, которые могут быть скопированы с помощью опции «-max-size». Например, чтобы скопировать файлы размером не более 2000 КБ из ~ / Downloads в каталог ~ / Documents, команда будет выглядеть так:

$ rsync -a --max-size = 2000k / home / tin / Downloads / * / home / tin / Документы

Эта команда скопирует все файлы из ~ / Downloads в каталог ~ / Documents, кроме файлов размером более 2000 КБ.

Копировать файлы на основе минимального размера

Точно так же мы также можем указать минимальный размер файлов, которые могут быть скопированы с опцией «-min-size». Например, чтобы скопировать файлы размером не менее 5M из ~ / Downloads в каталог ~ / Documents, команда будет выглядеть так:

$ rsync -a --min-size = 5M / home / tin / Downloads / / home / tin / Документы

Эта команда скопирует все файлы из ~ / Downloads в каталог ~ / Documents, кроме файлов размером менее 5M.

Исключить файлы

При копировании файлов из одного каталога в другой вы можете исключить некоторые файлы, используя параметр «-exclude», за которым следует имя файла или расширение типа файла.

Например, чтобы исключить все .zip файлы при копировании файлов из ~ / Downloads в каталог ~ / Documents, команда будет выглядеть так:

$ rsync -a --exclude = "*.zip »/ home / tin / Downloads / / home / tin / Документы

Копировать файлы и каталоги удаленно

С помощью Rsync вы можете скопировать один файл, несколько файлов и каталогов в удаленную систему. Для удаленного копирования файлов и каталогов вам потребуются:

Перед копированием файлов с помощью rsync убедитесь, что вы можете получить доступ к удаленной системе через SSH:

$ ssh удаленный_пользователь @ удаленный_ип


Общий синтаксис для копирования файлов и каталогов в удаленную систему с помощью rsync:

$ rsync [опция] [источник] [удаленный пользователь @ remoteip: пункт назначения]

Например, для копирования одного файла «файл.txt »из ~ / Downloads в каталог удаленной системы ~ / Documents, команда будет выглядеть так:

$ rsync -v ~ / Загрузки / файл1.txt umara @ 192.168.72.164: ~ / Документы

Аналогичным образом, чтобы скопировать каталог «~ / Downloads / files» в локальной системе с его подкаталогом и всем содержимым в каталог «~ / Downloads / samples» в удаленной системе:

$ rsync -rv ~ / Загрузки / файлы umara @ 192.168.72.164: ~ / Загрузки / образцы

Вы также можете скопировать файлы и каталоги с удаленного компьютера на локальный. Например, чтобы скопировать файл «file2.txt »из удаленной системы на рабочий стол локальной системы:

$ rsync -v умара @ 192.168.72.164: ~ / Загрузки / файл2.txt ~ / Рабочий стол /

Аналогичным образом, чтобы скопировать каталог из удаленной системы в локальную систему

$ rsync -rv umara @ 192.168.72.164: ~ / Загрузки / образец ~ / Рабочий стол / test

Вы также можете использовать все параметры, такие как -max-size, -min-size, -exclude и другие, при копировании файлов в / из удаленной системы.

Rsync - отличный инструмент для копирования файлов из источника в место назначения как локально, так и удаленно. Он включает в себя большой набор опций, которые обеспечивают гибкость и контроль при передаче файлов в / из удаленной системы.

Как загрузить и играть в Sid Meier's Civilization VI в Linux
Введение в игру Civilization 6 - это современный подход к классической концепции, представленной в серии игр Age of Empires. Идея была довольно просто...
Как установить Doom и играть в него в Linux
Введение в Doom Серия Doom возникла в 90-х годах после выхода оригинальной Doom. Это мгновенно стал хитом, и с тех пор серия игр получила множество на...
Vulkan для пользователей Linux
С каждым новым поколением видеокарт мы видим, как разработчики игр расширяют границы графической точности и приближаются на шаг ближе к фотореализму. ...