Команда rsync(резервное копирование)
Взято из Википедии:
rsync (англ. remote synchronization) — программа для UNIX-подобных систем, которая эффективно выполняет синхронизацию файлов и каталогов в двух местах (необязательно локальных) с минимизированием трафика, используя кодирование данных при необходимости. Важным отличием rsync от многих других программ/протоколов является то, что зеркалирование осуществляется одним потоком в каждом направлении (а не по одному или несколько потоков на каждый файл). rsync может копировать или отображать содержимое каталога и копировать файлы, опционально используя сжатие и рекурсию. rsync передаёт только изменения файлов, что отражается на производительности программы.
- sudo rsync -aAXvzh / –exclude={“/home/”,“/dev/”,“/proc/”,“/sys/”,“/tmp/”,“/run/”,“/mnt/”,“/media/”,“/lost+found”} /home/jenit/2024
(перед exclude два тире)
Где копируем корневой раздел (/).
Прописываем директории которые исключаем из копирования (-exclude).
Куда копируем (/home/jenit/2024).
Я пользуюсь этим способом для резервного копирования своей системы.
Первый раз использования - будет копироваться вся система,затем ,при последующим копировании, только новые и измененные файлы и директории.
Во время синхронизации можно удалять файлы (в старой копии), которых нет в источнике, для этого используется опция –delete.
(перед delete два тире)
Например:
- $ sudo rsync -avzX –delete / –exclude={” /dev/* “,”/proc/* “,” /home/ * “,”/sys/* “,” /tmp/* “,” /run/* “,” /mnt/* “,” / media /* “,” /lost+found “} /mnt
(перед delete два тире)
Все файлы, которых нет в новой копии, в старой будуд удалены.
Обязательно исключите целевой каталог, если он существует в локальной системе, иначе будет бесконечный цикл копирования.
Чтобы восстановить систему из резервной копии, просто измените исходные и целевые пути в приведенной выше команде.
Опции
Теперь давайте кратко рассмотрим параметры rsync. Здесь перечислены не все опции. Для более подробной информации смотрите man rsync:
-v - Выводить подробную информацию о процессе копирования;
-q - Минимум информации;
-c - Проверка контрольных сумм для файлов;
-a - Режим архивирования, когда сохраняются все атрибуты оригинальных файлов;
-R - Относительные пути;
-b - Создание резервной копии;
-u - Не перезаписывать более новые файлы;
-l - Копировать символьные ссылки;
-L - Копировать содержимое ссылок;
-H - Копировать жесткие ссылки;
-p - Сохранять права для файлов;
-g - Сохранять группу;
-t - Сохранять время модификации;
-x - Работать только в этой файловой системе;
-e - Использовать другой транспорт, например, ssh;
-z - Сжимать файлы перед передачей;
-h - выводите числа в удобочитаемом формате
-A - сохранить списки управления доступом
-X - сохранение расширенных атрибутов
–delete - Удалять файлы которых нет в источнике;
–exclude - Исключить файлы по шаблону;
–include - Включить файлы по шаблону
–recursive - Перебирать директории рекурсивно;
–no-recursive - Отключить рекурсию;
–progress - Выводить прогресс передачи файла;
–stat - Показать статистику передачи;
–version - Версия утилиты.