Как сделать резервную копию вашей системы Linux

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

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

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

Кроме того, существуют независимые программы, которые служат интерфейсом для rsync. Они предоставляют графический пользовательский интерфейс (GUI) для rsync, который некоторым людям может показаться более простым в использовании.

Чем проще и быстрее сделать резервную копию, тем больше у вас шансов это сделать.

Использование rsync с внешним жестким диском

Чтобы сделать резервную копию ваших данных на внешний жесткий диск, жесткий диск должен быть подключен и доступен для вас. Если вы можете писать в него, то может и rsync. В этом примере внешний жесткий диск USB с именем SILVERXHD (для «Серебряный внешний жесткий диск») подключен к компьютеру Linux. Операционная система смонтировала его автоматически.

Вам нужно будет знать путь к диску. В GNOME откройте браузер файлов Nautilus и найдите имя диска на боковой панели.

Наведите указатель мыши на имя внешнего диска, и всплывающая подсказка покажет вам путь к диску.

всплывающая подсказка для внешнего диска

В этом примере всплывающая подсказка сообщает нам, что точка монтирования файловой системы на внешнем диске — «/ media / dave / SILVERXHD».

Если ваш файловый браузер этого не делает, перейдите на внешний диск и откройте окно терминала в этом месте. Используйте команду pwd, чтобы напечатать путь к окну терминала.

  Как настроить интерфейс GIMP в Linux

Копирование содержимого из исходного каталога

Чтобы использовать rsync для копирования содержимого каталога в место назначения резервного копирования, используйте следующую команду.

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

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/

rsync -r / home / dave / Documents / / media / dave / SILVERXHD / в окне терминала

Копирование файла будет выполнено, и вы вернетесь в командную строку.

Если мы посмотрим на внешний USB-накопитель, мы увидим, что каталоги, находящиеся в каталоге Documents, были скопированы в корень внешнего накопителя.

ls

ls в окне терминала

Копирование исходного каталога и его содержимого

Если вы хотели, чтобы каталог Documents и его содержимое были скопированы на внешний диск, удалите «/» в конце «/ home / dave / Documents» в командной строке, например:

rsync -r /home/dave/Documents /media/dave/SILVERXHD/

rsync -r / home / dave / Documents / media / dave / SILVERXHD / в окне терминала

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

Если мы дадим завершение второй копии и еще раз посмотрим на внешний диск, мы увидим, что каталог Documents был скопирован. Его содержимое находится в этом каталоге. Их нет в корне внешнего диска.

ls в окне терминала

Копирование в конкретный целевой каталог

Чтобы скопировать в определенный каталог на целевом жестком диске, добавьте имя каталога к целевому пути. Предположим, мы хотим скопировать содержимое каталога «/ home / dave / Documents» в каталог «резервные копии» на внешнем диске.

Мы бы сделали это с помощью следующей команды.

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/backups/

rsync -r / home / dave / Documents / / media / dave / SILVERXHD / backups / na окно терминала

Проверяя внешний диск, мы видим, что каталог резервных копий был создан, и в этом каталоге находится содержимое каталога «/ home / dave / Documents».

ls
ls backups

Вывод из ls в окне терминала

Сохранение прав собственности и разрешений на файлы

Используйте параметр -a (архив) для сохранения атрибутов файлов, таких как даты модификации, права собственности на файлы, права доступа и т. Д., Для скопированных файлов, символических ссылок и специальных файлов блоков.

rsync -ra /home/dave/Documents/ /media/dave/SILVERXHD/backups/

rsync -ra / home / dave / Documents / / media / dave / SILVERXHD / backups / в окне терминала

Использование подробного режима

Параметр -v (подробный) заставляет rsync отображать файлы по мере их копирования.

rsync -rav /home/dave/Documents/ /media/dave/SILVERXHD/backups/

rsync -rav / home / dave / Documents / / media / dave / SILVERXHD / backups / в окне терминала

Сводная информация о резервной копии отображается после завершения копирования.

подробный вывод rsync в окне терминала

Отправлено: байты, переданные адресату.
Получено: байты, полученные на хосте.
Байт / сек: эффективная скорость передачи.
Общий размер: представляет размер данных, которые были бы отправлены, если бы вы не использовали rsync. При последующих запусках rsync он будет передавать только различия в файлах. На этом рисунке будут представлены данные, которые не нужно было передавать.
Ускорение: это соотношение между объемом данных, которые необходимо было отправить, и общим объемом имеющихся данных. Если rsync необходимо скопировать все файлы целиком (например, при первом запуске), ускорение будет 1,0. Когда в следующий раз будет использоваться rsync, он оптимизирует передачу. Он отправит только различия между файлами, а не все файлы. Файлы без изменений игнорируются. Цифра ускорения представляет собой соотношение между небольшим объемом данных, которые требовалось передать, и общим размером файлов.

  Как начать работу с Google Stadia в Linux

Использование опции прогресса

Параметр -P (прогресс) заставляет rsync генерировать небольшой отчет о ходе выполнения после копирования каждого файла.

rsync -raP /home/dave/Documents/ /media/dave/SILVERXHD/backups/

rsync -raP / home / dave / Documents / / media / dave / SILVERXHD / backups / в окне терминала

Предоставленную информацию можно увидеть между каждым скопированным файлом.

вывод rsync с прогрессом в окне терминала

Предоставленная информация:

Размер байта: данные, переданные для этого файла.
Процент: процент переданного файла.
B / s: Скорость передачи данных.
Оставшееся время: расчетное время, оставшееся для передачи этого файла.
xfr #: количество переданных файлов.
to-chk: количество файлов, оставшихся для проверки и проверки алгоритмами оптимизации.

Добавление большей скорости

Чтобы ускорить передачу, используйте параметр -z (сжатие). Это сжимает файл при передаче, но файл хранится в несжатом виде в целевом каталоге.

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

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

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

rsync -ravz  --partial /home/dave/Documents/ /media/dave/SILVERXHD/backups/

rsync -ravz --partial / home / dave / Documents / / media / dave / SILVERXHD / backups / в окне терминала

В нашем примере преимущества незначительны.

вывод rsync в окне терминала

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

Использование rsync по сети

До сих пор мы ориентировались на внешний USB-накопитель. Чтобы использовать сетевое расположение в качестве цели для резервного копирования, используйте путь к этому расположению в командной строке. Существует сетевое запоминающее устройство (NAS) в сети, в которой проводилось исследование этой статьи.

Мы можем использовать тот же трюк, который мы использовали ранее, чтобы определить путь к NAS, наведя указатель мыши на соединение с этим устройством в Nautilus.

Нет никаких специальных опций для резервного копирования по сети; это все варианты, которые мы уже использовали.

rsync -ravz  --partial /home/dave/Documents/ /media/dave/NAS/dave/backups/

rsync -ravz --partial / home / dave / Documents / / media / dave / NAS / dave / Backups / в окне терминала

Нет никакой разницы в формате вывода.

вывод rsync в окне терминала

Неудивительно, что показатель в байтах / сек значительно улучшился.

Если мы запустим rsync еще раз, мы увидим, что файлов для передачи нет, потому что не было никаких изменений, но все еще есть некоторые байты, переданные туда и обратно. Это объем данных, который необходимо передать, чтобы сравнить список файлов в целевой папке со списком файлов в источнике.

  Как сделать резервную копию настроек рабочего стола Cinnamon в Linux

вывод из rsync без файлов для передачи в окне терминала

В этом случае коэффициент ускорения на порядок лучше. На практике ваши коэффициенты производительности будут где-то между двумя нашими псевдоискусственными показаниями.

Использование rsync через SSH

rsync поддерживает резервное копирование через SSH-соединение. Нам нужно указать имя учетной записи пользователя и расположение SSH в командной строке. Здесь мы используем сетевое имя, но вы также можете использовать IP-адрес.

Обратите внимание на «:» между деталями SSH-соединения и началом сетевого пути на удаленной цели.

rsync -ravz  --partial /home/dave/Documents/ [email protected]:/home/dave/Backups/

rsync -ravz --partial / home / dave / Documents / dave@sulaco.local: / home / dave / Backups / в окне терминала

Вам будет предложено ввести пароль учетной записи пользователя на удаленном компьютере. Это не ваш пароль на исходной машине.

rsync через ssh-соединение в окне терминала

Резервное копирование завершится как обычно. Пропускная способность не так высока, как при обычном сетевом соединении, из-за шифрования и дешифрования, которое происходит в защищенном соединении оболочки.

Автоматизация резервного копирования

Мы можем легко создавать автоматические резервные копии, добавляя записи в ваш файл crontab.

crontab -e

crontab -e в окне терминала

Мы настроим автоматическое резервное копирование, которое будет запускаться каждый день в 04:30 (если, конечно, компьютер в это время включен). Синтаксис команды rsync вообще не меняется.

crontab открыть в nano в окне терминала

Ctrl + O запишет ваши изменения в файл, а Ctrl + X закроет редактор nano.

Сделать дружелюбное лицо на Rsync

Люди, которые менее знакомы с командной строкой, могут использовать одну из ряда программ, которые помещают графический интерфейс пользователя (GUI) в rsync. Два хороших примера: luckyBackup и Grsync. Обе эти программы позволяют выбирать многие параметры rsync через пользовательский интерфейс.

Программа Grsync сконцентрирована на том, чтобы быть визуальной оболочкой для rync. Он обеспечивает легкий доступ к параметрам rsync и добавляет только ограниченный набор новых функций.

Один из диалоговых окон настроек Grsync,Один из диалоговых окон настроек Grsync,

Программа luckyBackup — это гораздо больше, чем просто оболочка для rsync. Это программа резервного копирования, которая негласно использует rsync. Например, luckyBackup может сделать несколько «снимков» вашей резервной копии. Затем вы можете «откатиться» к версиям файлов в любом из снимков.

Один из диалоговых окон настроек luckyBackupОдин из диалоговых окон настроек luckyBackup.

Чтобы установить Grsync

Чтобы установить Grsync в Ubuntu, используйте эту команду:

sudo apt-get install grsync

sudo apt-get install grsync в окне терминала

Чтобы установить Grsync в Fedora, используйте эту команду:

sudo dnf install grsync

sudo dnf установить grsync

Чтобы установить Grsync в Manaro, используйте эту команду:

sudo pacman -Syu grsync

sudo pacman -Syu grsync в окне терминала

Чтобы установить luckyBackup

Чтобы установить luckyBackup в Ubuntu, используйте следующую команду:

sudo apt-get install luckybackup

sudo apt-get install luckybackup в окне терминала

Чтобы установить luckyBackup в Fedora, используйте следующую команду:

sudo dnf install luckybackup

sudo dnf установить luckyback в окне терминала

В Manjaro вы должны установить luckyBackup из Репозиторий пользователей Arch (AUR). Вы можете сделать это с помощью менеджера пакетов pamac.

менеджер пакетов pamac

Не рискуйте, часто делайте резервную копию ваших данных

Резервное копирование абсолютно необходимо. Часто выполняйте резервное копирование, резервное копирование во многие места и резервные копии на разные носители. После настройки rsync может сделать все это за вас.