dd rsync
Окружение
Вы можете подробнее ознакомиться с работой утилит для архивирования, копирования и восстановления файлов, просмотрев наши обучающие видео:
на RuTube:
Консольные утилиты для работы с архивами.
в Яндекс.Дзен:
Копирование и клонирование дисков;
в VK Видео:
На наших каналах вы также сможете найти много другой полезной информации.
Dd (data definition) — это утилита, предназначенная для копирования и конвертации файлов. Она позволяет выполнять более сложные операции, чем просто копирование, как в случае с командой cp. С помощью dd можно копировать первые n байт файла, пропустить m байт от начала файла, читать данные с поврежденных носителей, преобразовывать содержимое файла в формат ASCII, изменять порядок байтов в файле, копировать очень большие файлы и выполнять другие операции.
Утилита dd входит в пакет coreutils, который установлен в РЕД ОС по умолчанию. Если пакет не установлен, выполните команду для установки:
sudo dnf install coreutils
Утилита доступна для запуска через терминал при помощи команды следующего вида:
dd if=[входной_файл] of=[выходной_файл] [параметры]
Основные параметры:
bs — указывает сколько байт читать и записывать за один раз;
bs
cbs — сколько байт нужно записывать за один раз;
cbs
count — скопировать указанное количество блоков, размер одного блока указывается в параметре bs;
count
conv — применить фильтры к потоку данных;
conv
ibs — читать указанное количество байт за раз;
ibs
obs — записывать указанное количество байт за раз;
obs
seek — пропустить указанное количество байт в начале устройства для чтения;
seek
skip — пропустить указанное количество байт в начале устройства вывода;
skip
status — указывает насколько подробным нужно сделать вывод;
status
iflag, oflag — позволяет задать дополнительные флаги работы для устройства ввода и вывода, основные из них: nocache, nofollow.
iflag
oflag
nocache
nofollow
1. Команда для копирования системного раздела диска в файл:
dd if=/dev/sda1 of=/media/device/sda1.bin bs=4096
2. С учетом возможности перенаправления стандартного ввода/вывода команда dd позволяет применять для копирования алгоритмы сжатия или защитного преобразования:
dd
dd if=/dev/sda1 bs=4096 | gzip > /media/device/sda1.bin.gz2
3. Команда для восстановления системного раздела диска (для этого потребуется загрузиться с отдельного диска, и примонтировать носитель, на котором был размещен файл с образом):
dd if=/media/mountpoint/sda1.bin of=/dev/sda1 bs=4096
4. Сохранение образа диска в файл:
dd if=/dev/sr0 of=~/CD.iso bs=2048 conv=noerror
5. Создание образа жесткого диска или раздела на нем и сохранение этого образа на диск:
dd if=/dev/sda of=~/disk.img
6. Создание сжатого образа диска:
dd if=/dev/sda2 | bzip2 disk.img.bz2
7. Копирование файлов:
dd if=/home/sergiy/test.txt of=/home/sergiy/test1.txt
8. Копирование файлов блоками размером по 5 мебибайт:
dd if=/dev/sda of=~/disk.img bs=5M
9. Запись образа на жесткий диск или раздел:
dd if=~/disk.img of=/dev/sda
Rsync — это программное обеспечение с открытым исходным кодом, которое можно использовать для синхронизации файлов и папок с локального компьютера на удаленный и наоборот. Примечательная особенность rsync — возможность передавать зашифрованные файлы с помощью SSH и SSL. Кроме того, здесь передача файлов выполняется в один поток, в отличие от других подобных программ, создающий отдельный поток для передачи каждого файла. Это увеличивает скорость и убирает дополнительные задержки, которые становятся проблемой при передаче большого количества маленьких файлов.
Пакет rsync установлен в РЕД ОС по умолчанию. Если пакет не установлен, выполните команду для установки:
sudo dnf install rsync
rsync [параметры] [источник] [назначение]
Источник и назначение могут быть локальными или удалёнными директориями, доступными по протоколам SSH, rsync, ftp или samba.
Основные параметры rsync:
-v — выводить подробную информацию о процессе копирования;
-v
-q — минимум информации;
-q
-c — проверка контрольных сумм для файлов;
-c
-a — режим архивирования, когда сохраняются все атрибуты оригинальных файлов;
-a
-R — относительные пути;
-R
-b — создание резервной копии;
-b
-u — не перезаписывать более новые файлы;
-u
-l — копировать символьные ссылки;
-l
-L — копировать содержимое ссылок;
-L
-H — копировать жесткие ссылки;
-H
-p — сохранять права для файлов;
-p
-g — сохранять группу;
-g
-t — сохранять время модификации;
-t
-x — работать только в этой файловой системе;
-x
-e — использовать другой транспорт, например, ssh;
-e
-z — сжимать файлы перед передачей;
-z
--delete — удалять файлы которых нет в источнике;
--delete
--exclude — исключить файлы по шаблону;
--exclude
--recursive — перебирать директории рекурсивно;
--recursive
--no-recursive — отключить рекурсию;
--no-recursive
--progress — выводить прогресс передачи файла;
--progress
--stat — показать статистику передачи;
--stat
--version — версия утилиты.
--version
Пример работы
1. Rsync позволяет синхронизировать файлы и папки в пределах одной машины. Использование rsync для синхронизации файла на локальном компьютере:
rsync -zvh file /tmp/backups/
2. Синхронизация папок rsync выполняется так же, как и файлов:
rsync -zvh /var/account/* /tmp/backups/
3. Если вы хотите, чтобы все атрибуты файлов, такие, как дата изменения и создания сохранялись, необходимо использовать опцию -a:
rsync -azvh /var/account/* /tmp/backups/
4. Синхронизация файлов производится следующим образом. Скопируем локальную папку files, на удаленный сервер:
rsync -avz /home/files root@10.81.1.190:/home/user
5. По умолчанию rsync попытается использовать транспорт ssh. Если вы хотите использовать ранее созданный сервер rsync, нужно указать это явно:
rsync -avz /home/files rsync://10.81.1.190:/share
6. Синхронизация файлов с удаленного сервера:
rsync -avz root@10.81.1.190:/home/ /home/files/
Дата последнего изменения: 24.11.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.