Не рискуйте потерей данных. Сделайте резервную копию ваших ценных данных из командной строки Linux. Мы будем использовать для этого команду rsync, и мы даже нашли для нее несколько хороших дополнительных графических интерфейсов.
Есть много способов сделать резервную копию ваших файлов. Мы хотели показать вам надежный, гибкий и надежный способ защиты ваших данных. Мы выбрали rsync из-за его уважаемые алгоритмы которые вычисляют разницу между файлами в исходном каталоге и в целевом каталоге. Передаются только различия между двумя версиями файла, а не весь файл, если этого можно избежать.
Когда эта эффективность сочетается с его солидным послужным списком в выполнении копий файлов и синхронизации каталогов с середины 1990-х годов, rsync является идеальным кандидатом для создания резервных копий из командной строки Linux.
Кроме того, существуют независимые программы, которые служат интерфейсом для rsync. Они предоставляют графический пользовательский интерфейс (GUI) для rsync, который некоторым людям может показаться более простым в использовании.
Чем проще и быстрее сделать резервную копию, тем больше у вас шансов это сделать.
Оглавление
Использование rsync с внешним жестким диском
Чтобы сделать резервную копию ваших данных на внешний жесткий диск, жесткий диск должен быть подключен и доступен для вас. Если вы можете писать в него, то может и rsync. В этом примере внешний жесткий диск USB с именем SILVERXHD (для «Серебряный внешний жесткий диск») подключен к компьютеру Linux. Операционная система смонтировала его автоматически.
Вам нужно будет знать путь к диску. В GNOME откройте браузер файлов Nautilus и найдите имя диска на боковой панели.
Наведите указатель мыши на имя внешнего диска, и всплывающая подсказка покажет вам путь к диску.
В этом примере всплывающая подсказка сообщает нам, что точка монтирования файловой системы на внешнем диске — «/ media / dave / SILVERXHD».
Если ваш файловый браузер этого не делает, перейдите на внешний диск и откройте окно терминала в этом месте. Используйте команду pwd, чтобы напечатать путь к окну терминала.
Копирование содержимого из исходного каталога
Чтобы использовать rsync для копирования содержимого каталога в место назначения резервного копирования, используйте следующую команду.
Параметр -r (рекурсивный) заставляет rsync копировать все вложенные подкаталоги и их содержимое. Обратите внимание, что в конце слова «SILVERXHD» есть косая черта «/», но она переходит к следующей строке на снимке экрана.
rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/
Копирование файла будет выполнено, и вы вернетесь в командную строку.
Если мы посмотрим на внешний USB-накопитель, мы увидим, что каталоги, находящиеся в каталоге Documents, были скопированы в корень внешнего накопителя.
ls
Копирование исходного каталога и его содержимого
Если вы хотели, чтобы каталог Documents и его содержимое были скопированы на внешний диск, удалите «/» в конце «/ home / dave / Documents» в командной строке, например:
rsync -r /home/dave/Documents /media/dave/SILVERXHD/
Чтобы избежать путаницы, я удалил два ранее скопированных каталога с внешнего диска перед выполнением этой второй команды.
Если мы дадим завершение второй копии и еще раз посмотрим на внешний диск, мы увидим, что каталог Documents был скопирован. Его содержимое находится в этом каталоге. Их нет в корне внешнего диска.
Копирование в конкретный целевой каталог
Чтобы скопировать в определенный каталог на целевом жестком диске, добавьте имя каталога к целевому пути. Предположим, мы хотим скопировать содержимое каталога «/ home / dave / Documents» в каталог «резервные копии» на внешнем диске.
Мы бы сделали это с помощью следующей команды.
rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Проверяя внешний диск, мы видим, что каталог резервных копий был создан, и в этом каталоге находится содержимое каталога «/ home / dave / Documents».
ls
ls backups
Сохранение прав собственности и разрешений на файлы
Используйте параметр -a (архив) для сохранения атрибутов файлов, таких как даты модификации, права собственности на файлы, права доступа и т. Д., Для скопированных файлов, символических ссылок и специальных файлов блоков.
rsync -ra /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Использование подробного режима
Параметр -v (подробный) заставляет rsync отображать файлы по мере их копирования.
rsync -rav /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Сводная информация о резервной копии отображается после завершения копирования.
Отправлено: байты, переданные адресату.
Получено: байты, полученные на хосте.
Байт / сек: эффективная скорость передачи.
Общий размер: представляет размер данных, которые были бы отправлены, если бы вы не использовали rsync. При последующих запусках rsync он будет передавать только различия в файлах. На этом рисунке будут представлены данные, которые не нужно было передавать.
Ускорение: это соотношение между объемом данных, которые необходимо было отправить, и общим объемом имеющихся данных. Если rsync необходимо скопировать все файлы целиком (например, при первом запуске), ускорение будет 1,0. Когда в следующий раз будет использоваться rsync, он оптимизирует передачу. Он отправит только различия между файлами, а не все файлы. Файлы без изменений игнорируются. Цифра ускорения представляет собой соотношение между небольшим объемом данных, которые требовалось передать, и общим размером файлов.
Использование опции прогресса
Параметр -P (прогресс) заставляет rsync генерировать небольшой отчет о ходе выполнения после копирования каждого файла.
rsync -raP /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Предоставленную информацию можно увидеть между каждым скопированным файлом.
Предоставленная информация:
Размер байта: данные, переданные для этого файла.
Процент: процент переданного файла.
B / s: Скорость передачи данных.
Оставшееся время: расчетное время, оставшееся для передачи этого файла.
xfr #: количество переданных файлов.
to-chk: количество файлов, оставшихся для проверки и проверки алгоритмами оптимизации.
Добавление большей скорости
Чтобы ускорить передачу, используйте параметр -z (сжатие). Это сжимает файл при передаче, но файл хранится в несжатом виде в целевом каталоге.
Опция сжатия не принесет значительных преимуществ при передаче большого количества небольших файлов. Для коллекций больших файлов это может значительно сократить время передачи.
Мы также используем здесь параметр –partial. rsync удалит частично переданные файлы, вызванные сбоями в сети или другими сбоями. Параметр –partial заставляет rsync оставить частично переданные файлы на целевом компьютере. Чистое время работы rsync не требует повторной передачи частей частично переданных файлов.
Обратите внимание, что вы можете не использовать эту опцию, если есть риск, что кто-то ошибочно примет частично переданные файлы за полностью переданные файлы.
rsync -ravz --partial /home/dave/Documents/ /media/dave/SILVERXHD/backups/
В нашем примере преимущества незначительны.
Коэффициент ускорения улучшился, но на две сотых процента! В реальной жизни ваши улучшения скорости будут более впечатляющими.
Использование rsync по сети
До сих пор мы ориентировались на внешний USB-накопитель. Чтобы использовать сетевое расположение в качестве цели для резервного копирования, используйте путь к этому расположению в командной строке. Существует сетевое запоминающее устройство (NAS) в сети, в которой проводилось исследование этой статьи.
Мы можем использовать тот же трюк, который мы использовали ранее, чтобы определить путь к NAS, наведя указатель мыши на соединение с этим устройством в Nautilus.
Нет никаких специальных опций для резервного копирования по сети; это все варианты, которые мы уже использовали.
rsync -ravz --partial /home/dave/Documents/ /media/dave/NAS/dave/backups/
Нет никакой разницы в формате вывода.
Неудивительно, что показатель в байтах / сек значительно улучшился.
Если мы запустим rsync еще раз, мы увидим, что файлов для передачи нет, потому что не было никаких изменений, но все еще есть некоторые байты, переданные туда и обратно. Это объем данных, который необходимо передать, чтобы сравнить список файлов в целевой папке со списком файлов в источнике.
В этом случае коэффициент ускорения на порядок лучше. На практике ваши коэффициенты производительности будут где-то между двумя нашими псевдоискусственными показаниями.
Использование rsync через SSH
rsync поддерживает резервное копирование через SSH-соединение. Нам нужно указать имя учетной записи пользователя и расположение SSH в командной строке. Здесь мы используем сетевое имя, но вы также можете использовать IP-адрес.
Обратите внимание на «:» между деталями SSH-соединения и началом сетевого пути на удаленной цели.
rsync -ravz --partial /home/dave/Documents/ [email protected]:/home/dave/Backups/
Вам будет предложено ввести пароль учетной записи пользователя на удаленном компьютере. Это не ваш пароль на исходной машине.
Резервное копирование завершится как обычно. Пропускная способность не так высока, как при обычном сетевом соединении, из-за шифрования и дешифрования, которое происходит в защищенном соединении оболочки.
Автоматизация резервного копирования
Мы можем легко создавать автоматические резервные копии, добавляя записи в ваш файл crontab.
crontab -e
Мы настроим автоматическое резервное копирование, которое будет запускаться каждый день в 04:30 (если, конечно, компьютер в это время включен). Синтаксис команды rsync вообще не меняется.
Ctrl + O запишет ваши изменения в файл, а Ctrl + X закроет редактор nano.
Сделать дружелюбное лицо на Rsync
Люди, которые менее знакомы с командной строкой, могут использовать одну из ряда программ, которые помещают графический интерфейс пользователя (GUI) в rsync. Два хороших примера: luckyBackup и Grsync. Обе эти программы позволяют выбирать многие параметры rsync через пользовательский интерфейс.
Программа Grsync сконцентрирована на том, чтобы быть визуальной оболочкой для rync. Он обеспечивает легкий доступ к параметрам rsync и добавляет только ограниченный набор новых функций.
Один из диалоговых окон настроек Grsync,
Программа luckyBackup — это гораздо больше, чем просто оболочка для rsync. Это программа резервного копирования, которая негласно использует rsync. Например, luckyBackup может сделать несколько «снимков» вашей резервной копии. Затем вы можете «откатиться» к версиям файлов в любом из снимков.
Один из диалоговых окон настроек luckyBackup.
Чтобы установить Grsync
Чтобы установить Grsync в Ubuntu, используйте эту команду:
sudo apt-get install grsync
Чтобы установить Grsync в Fedora, используйте эту команду:
sudo dnf install grsync
Чтобы установить Grsync в Manaro, используйте эту команду:
sudo pacman -Syu grsync
Чтобы установить luckyBackup
Чтобы установить luckyBackup в Ubuntu, используйте следующую команду:
sudo apt-get install luckybackup
Чтобы установить luckyBackup в Fedora, используйте следующую команду:
sudo dnf install luckybackup
В Manjaro вы должны установить luckyBackup из Репозиторий пользователей Arch (AUR). Вы можете сделать это с помощью менеджера пакетов pamac.
Не рискуйте, часто делайте резервную копию ваших данных
Резервное копирование абсолютно необходимо. Часто выполняйте резервное копирование, резервное копирование во многие места и резервные копии на разные носители. После настройки rsync может сделать все это за вас.