Как да архивирате вашата Linux система с rsync

Външен твърд диск, включен към лаптоп през USB

Юрий Селезнев / Shutterstock.com



Не рискувайте загуба на данни. Архивирайте ценните си данни от командния ред на Linux. Ще използваме |_+_| команда за това и дори намерихме някои хубави опционални графични интерфейси за него.

Има много начини да направите резервно копие на вашите файлове. Искахме да ви покажем здрав, гъвкав и надежден начин за защита на вашите данни. Избираме |_+_| заради нейното добре уважавани алгоритми които изчисляват разликите между файловете в изходната и целевата директория. Прехвърлят се само разликите между две версии на един файл, а не целият файл, ако това може да се избегне.





Когато тази ефективност е съчетана със стабилния му опит в извършването на копия на файлове и синхронизиране на директории от средата на 1990-те, |_+_| е идеален кандидат за създаване на резервни копия от командния ред на Linux.

Освен това има независими софтуерни програми, които действат като преден край за |_+_|. Те предоставят графични потребителски интерфейси (GUI) за |_+_| които някои хора може да намерят за по-лесни за използване.



Колкото по-лесно и по-бързо е да направите резервно копие, толкова по-вероятно е да го направите.

Използване на rsync с външен твърд диск

За да направите резервно копие на вашите данни на външен твърд диск, твърдият диск трябва да бъде монтиран и достъпен за вас. Ако можете да му пишете, значи може и |_+_|. В този пример външен USB твърд диск, наречен SILVERXHD (за Silver eXternal Hard Drive), е включен в компютъра с Linux. Той е монтиран автоматично от операционната система.

Реклама

Ще трябва да знаете пътя до устройството. В GNOME отворете файловия браузър Nautilus и намерете името на устройството в страничната лента.



Задръжте курсора на мишката върху името на външното устройство и подсказка ще ви покаже пътя до устройството.

подсказка за външно устройство

В този пример подсказката ни информира, че точката на монтиране на файловата система на външното устройство е /media/dave/SILVERXHD.

Ако вашият файлов браузър не прави това, прегледайте външното устройство и отворете терминален прозорец на това място. Използвайте |_+_| команда за отпечатване на пътя до прозореца на терминала.

Копиране на съдържанието от изходната директория

За да използвате |_+_| за да копирате съдържанието на директория във вашата резервна дестинация, използвайте следната команда.

Реклама

|_+_| (рекурсивна) опция причинява |_+_| да копирате всички вложени поддиректории и тяхното съдържание. Обърнете внимание, че има наклонена черта / в края на думата SILVERXHD, но тя е преместена до следващия ред на екранната снимка.

rsync

Копирането на файла се извършва и вие се връщате в подканата на командния ред.

Ако погледнем външното USB устройство, ще видим, че директориите, които са в директорията Documents, са копирани в корена на външното устройство.

rsync

Копиране на изходната директория и нейното съдържание

Ако сте искали да имате директорията с документи и неговото съдържание, копирано на външното устройство, премахнете / от края на /home/dave/Documents в командния ред, както следва:

rsync

За да избегна объркване, премахнах двете по-рано копирани директории от външното устройство, преди тази втора команда да бъде изпълнена.

Ако оставим второто копие да завърши и погледнем отново външното устройство, ще видим, че директорията Documents е копирана. Съдържанието му е в тази директория. Те не са в корена на външното устройство.

Копиране в конкретна целева директория

За да копирате в конкретна директория на целевия твърд диск, добавете името на директорията към целевия път. Да предположим, че искаме да копираме съдържанието на директорията /home/dave/Documents в директория, наречена backup на външното устройство.

Ще направим това със следната команда.

rsync

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/backups/ в прозорец на терминала

Реклама

Проверявайки на външното устройство, можем да видим, че директорията за архивиране е създадена и в тази директория се намира съдържанието на директорията /home/dave/Documents.

rsync rsync

Запазване на собствеността върху файла и разрешенията

Използвайте |_+_| (архив) опция за запазване на файлови атрибути като дати на модификация, собственост на файл, разрешения за достъп и други за копирани файлове, символни връзки и специални блокови файлове.

pwd

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

|_+_| (подробно) засилва опцията |_+_| за да изброите файловете, докато се копират.

rsync

Резюме на архивирането се представя, когато копирането приключи.

  • Изпратено : Байтовете, прехвърлени към целта.
  • Получено : Байтовете, получени на хоста.
  • Байтове/сек : е ефективната скорост на трансфер.
  • Общият размер : Представлява размера на данните, които биха били изпратени, ако бяхте не използвайки |_+_|. При следващи пускания на |_+_| ще прехвърли само разликите във файловете. Тази цифра ще представлява данните, които са направили не трябва да бъдат прехвърлени.
  • Ускори : Това е съотношението между количеството данни, които трябва да бъдат изпратени, и общото количество данни, което има. Ако |_+_| трябва да копира всички файлове в тяхната цялост (при първото стартиране, например) ускоряването ще бъде 1.0. Когато |_+_| следва да се използва, той ще оптимизира трансферите. Той ще изпрати само разликите между файловете, а не целите файлове. Файлове без промени ще бъдат игнорирани. Цифрата за ускорение ще представлява съотношението между малкото количество данни, което е било необходимо за прехвърляне, спрямо общия размер на файловете.

Използване на опцията за напредък

|_+_| (прогрес) опция причинява |_+_| за генериране на малък отчет за напредъка след копиране на всеки файл.

-r

Реклама

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

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

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

Добавяне на повече скорост

За да ускорите трансферите, използвайте |_+_| опция (компресия). Това компресира файла при прехвърляне, но файлът се съхранява некомпресиран в целевата директория.

Опцията за компресиране няма да донесе значителни ползи за трансфери, включващи много малки файлове. За колекции от по-големи файлове може да намали времето за прехвърляне по смислен начин.

Ние също използваме |_+_| опция тук. |_+_| ще изтрие частично прехвърлени файлове, причинени от проблеми в мрежата или други прекъсвания. |_+_| опции сили |_+_| за да оставите частично прехвърлените файлове на целта. Нетното време |_+_| стартира, няма да се налага повторно прехвърляне на части от частично прехвърлените файлове.

Имайте предвид, че може да не искате да използвате тази опция, ако има риск някой да сбърка частично прехвърлените файлове за напълно прехвърлени файлове.

rsync

В нашия пример ползите са незначителни.

Коефициентът на ускорение се е подобрил, но с две стотни от процента! В реален сценарий подобренията на скоростта ви ще бъдат по-впечатляващи.

Използване на rsync през мрежа

Досега се насочихме към външно USB устройство. За да използвате мрежово местоположение като цел за архивиране, използвайте пътя до това местоположение в командния ред. Има свързано към мрежата устройство за съхранение (NAS) в мрежата, в която е изследвана тази статия.

Реклама

Можем да използваме същия трик, който използвахме по-рано, за да идентифицираме пътя към NAS, като задържим курсора на мишката върху връзката с това устройство в Nautilus.

Няма специални опции за архивиране в мрежа; това са всички опции, които вече използвахме.

-a

Няма разлика във формата на изхода.

Не е изненадващо, че има значително подобрение в числото байтове/сек.

Ако изпълним |_+_| отново можем да видим, че няма файлове за прехвърляне, защото няма промени, но все още има някои байтове, прехвърлени напред-назад. Това е количеството данни, което трябва да се прехвърли, за да се сравни списъкът с файлове в целта със списъка с файлове в източника.

Реклама

Коефициентът на ускорение е с порядък по-добър в този случай. На практика вашите съотношения на производителност ще бъдат някъде между нашите две псевдо-изкуствени показания.

Използване на rsync през SSH

|_+_| поддържа архивиране през SSH връзка. Трябва да предоставим името на потребителския акаунт и SSH местоположението в командния ред. Тук използваме име на мрежа, но можете да използвате и IP адрес.

Обърнете внимание на: между подробностите за SSH връзката и началото на мрежовия път на отдалечената цел.

-v

Ще бъдете помолени да въведете паролата на потребителския акаунт на дистанционно машина. Това не е вашата парола на изходната машина.

Архивирането ще завърши както обикновено. Пропускателната способност не е толкова бърза, колкото обикновената мрежова връзка, поради криптирането и декриптирането, които се извършват в връзката със защитена обвивка.

Автоматизиране на вашите архиви

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

rsync

Реклама

Ще настроим автоматично архивиране, което да се изпълнява всеки ден в 04:30 (ако компютърът е включен по това време, разбира се). Синтаксисът за |_+_| командата изобщо не се променя.

Ctrl+O ще запише вашите промени във файла, а Ctrl+X ще затвори |_+_| редактор.

СВЪРЗАНИ: Как да планирате задачи в Linux: Въведение в Crontab файлове

Поставяне на приятелско лице на Rsync

Хората, които са по-малко удобни с командния ред, могат да използват една от редица програми, които поставят графичен потребителски интерфейс (GUI) на |_+_|. Два добри примера са luckyBackup и Grsync . И двете от тези програми позволяват много от |_+_| опции, които да бъдат избрани чрез потребителския интерфейс.

|_+_| програмата се концентрира върху това да бъде визуална обвивка за |_+_|. Той осигурява лесен достъп до |_+_| опции и добавя само ограничен набор от нови функционалности.

Един от диалоговите прозорци за настройки на Grsync,

Един от диалоговите прозорци за настройки на Grsync,

|_+_| програмата е много повече от обикновена обвивка за |_+_|. Това е програма за архивиране, която използва |_+_| зад сцената. Например, |_+_| може да направи множество моментни снимки на вашия архив. След това можете да се върнете към версиите на файловете във всяка от моментните снимки.

Един от диалоговите прозорци за настройки на luckyBackup

Един от диалоговите прозорци за настройки на luckyBackup.

За да инсталирате Grsync

За да инсталирате |_+_| в Ubuntu, използвайте тази команда:

rsync

За да инсталирате |_+_| във Fedora, използвайте тази команда:

rsync

sudo dnf инсталирайте grsync

За да инсталирате |_+_| в Manaro използвайте тази команда:

rsync

За да инсталирате luckyBackup

За да инсталирате |_+_| в Ubuntu, използвайте следната команда:

rsync

За да инсталирате |_+_| във Fedora използвайте следната команда:

-P

В Manjaro трябва да инсталирате |_+_| от Потребителско хранилище на Arch (AUR). Можете да направите това с |_+_| пакетен мениджър.

мениджърът на пакети pamac

Не рискувайте, архивирайте данните си често

Архивирането е абсолютно жизненоважно. Архивирайте често, архивирайте на много места и архивирайте на различни носители. След като е настроен, |_+_| може да направи всичко това вместо вас.

Linux команди
Файлове катран · pv · котка · такт · chmod · сцепление · разл · sed · С · човек · pushd · popd · fsck · тестов диск · сек · fd · пандока · CD · $PATH · awk · присъединяване · jq · сгънете · уникален · journalctl · опашка · състояние · ls · fstab · изхвърли · по-малко · chgrp · chown · rev · виж · струни · Тип · преименувайте · цип · разархивирайте · монтиране · umount · Инсталирай · fdisk · mkfs · rm · rmdir · rsync · df · gpg · ние · нано · mkdir · от · вътрешен · кръпка · преобразувам · rclone · накъсайте · SRM
процеси псевдоним · екран · връх · хубаво · renice · напредък · strace · система · tmux · chsh · история · в · партида · Безплатно · който · dmesg · потребителски мод · п.с · chroot · xargs · tty · мизичко · lsof · vmstat · изчакване · стена · да · убиват · сън · sudo · неговата · време · groupadd · потребителски мод · групи · lshw · изключвам · рестартирайте · Спри се · изключване · passwd · lscpu · crontab · дата · bg · fg
Работа в мрежа netstat · пинг · трасиране · ip · ss · кой е · fail2ban · bmon · Вие · пръст на ръката · nmap · ftp · къдрица · wget · Кой · кой съм аз · В · iptables · ssh-keygen · ufw

СВЪРЗАНИ: Най-добрите Linux лаптопи за разработчици и ентусиасти

ПРОЧЕТЕТЕ СЛЕДВАЩО Снимка на профила на Дейв Маккей Дейв Маккей
Дейв Маккей за първи път използва компютри, когато перфорираната хартиена лента беше на мода и оттогава той програмира. След повече от 30 години в ИТ индустрията, той вече е технологичен журналист на пълен работен ден. По време на кариерата си той е работил като програмист на свободна практика, мениджър на международен екип за разработка на софтуер, ръководител на проекти за ИТ услуги и, последно, като служител по защита на данните. Неговото писане е публикувано от howtogeek.com, cloudsavvyit.com, tenterpriser.com и opensource.com. Дейв е евангелист на Linux и привърженик на отворен код.
Прочетете пълната биография

Интересни Статии