Резервне копіювання і відновлення¶
У цьому розділі ви дізнаєтесь, як створювати резервні копії та відновлювати дані за допомогою Linux.
Цілі: у цьому розділі майбутні адміністратори Linux дізнаються, як:
використовувати команди tar
і cpio
, для створення резервної копії;
перевіряти резервні копії та відновлювати дані;
архівувати або розпакувати резервні копії.
резервне копіювання, відновлення, стиснення
Знання:
Складність:
Час для читання: 40 хвилин
Примітка
У цій главі командні структури використовують «пристрій» для визначення як цільового розташування для резервного копіювання, так і вихідного розташування під час відновлення. Пристроєм може бути як зовнішній носій, так і локальний файл. Ви повинні відчути це, коли розгортається розділ, але ви завжди можете повернутися до цієї примітки для роз’яснення, якщо вам потрібно.
Резервне копіювання задовольнить необхідність збереження та відновлення даних надійним і ефективним способом.
Резервне копіювання дозволяє захистити себе від наступного:
- Знищення: добровільне чи мимовільне. Людські або технічні. Вірус, ...
- Видалення: добровільне чи мимовільне. Людські або технічні. Вірус, ...
- Цілісність: дані стають непридатними для використання.
Жодна система не є безпомилковою, і жодна людина не є безпомилковою, тому, щоб уникнути втрати даних, необхідно створити їх резервну копію, щоб можна було відновити після проблеми.
Носій резервного копіювання слід зберігати в іншій кімнаті (або будівлі), ніж сервер, щоб катастрофа не знищила сервер і резервні копії.
Крім того, адміністратор повинен регулярно перевіряти, чи не пошкоджені носії резервних копій.
Загальні положення¶
Існує два принципи: резервне копіювання та архівування.
- Архів після операції знищує джерело інформації.
- Резервна копія зберігає джерело інформації після операції.
Ці операції складаються зі збереження інформації у файлі, на периферійному чи підтримуваному носії (стрічках, дисках тощо).
Процес¶
Резервне копіювання вимагає від системного адміністратора великої дисциплінованості та ретельності. Перед виконанням операцій резервного копіювання системному адміністратору необхідно врахувати наступні моменти:
- Яке середовище є відповідним?
- Для чого слід створити резервну копію?
- Скільки примірників?
- Скільки часу триватиме резервне копіювання?
- Метод?
- Як часто?
- Автоматичне чи ручне?
- Де його зберігати?
- Як довго він буде зберігатися?
- Чи варто розглянути питання вартості?
Окрім вищезазначених питань, системний адміністратор також повинен враховувати економічні витрати, продуктивність, важливість даних, використання пропускної здатності та інші фактори відповідно до фактичного сценарію використання.
Методи резервного копіювання¶
- Повне резервне копіювання: це одноразова копія всіх файлів, папок або даних на жорсткому диску або в базі даних.
- Додаткове резервне копіювання: це резервне копіювання даних, оновлених після останнього повного або інкрементного резервного копіювання.
- Диференціальне резервне копіювання: стосується резервного копіювання змінених файлів після повного резервного копіювання.
- Вибіркове резервне копіювання (часткове резервне копіювання): стосується резервного копіювання частини системи.
- Холодне резервне копіювання: стосується резервного копіювання, коли система вимкнута або в стані обслуговування. Резервні копії даних точно збігаються з даними в системі протягом цього періоду.
- Гаряче резервне копіювання: резервне копіювання, коли система працює нормально. Оскільки дані в системі оновлюються в будь-який час, резервні копії даних мають певну затримку відносно реальних даних системи.
- Віддалене резервне копіювання: це резервне копіювання даних в іншому географічному місці, щоб уникнути втрати даних і переривання роботи служби через пожежу, стихійне лихо, крадіжку тощо.
Періодичність¶
- Періодичне: резервне копіювання протягом певного періоду перед великим оновленням системи (зазвичай у непікові години)
- Циклічне: резервне копіювання в днях, тижнях, місяцях тощо
Порада
Перед зміною системи може бути корисно зробити резервну копію. Однак немає сенсу щодня створювати резервні копії даних, які змінюються лише щомісяця.
Методи відновлення¶
Залежно від доступних утиліт, можливо виконати декілька типів відновлення.
У деяких системах керування реляційними базами даних відповідні операції «відновити» (іноді «відновлення» використовується в документації) і «відновити» відрізняються. Для отримання додаткової інформації зверніться до офіційної документації. Для отримання додаткової інформації зверніться до офіційної документації. Цей основний документ не буде вдаватися в надто багато деталей щодо цієї частини RDBMS.
- Повне відновлення: відновлення даних на основі повного резервного копіювання або «Повного резервного копіювання + інкрементного резервного копіювання» або «Повного резервного копіювання + диференціального резервного копіювання».
- Вибіркове відновлення: відновлення даних на основі вибіркового резервного копіювання (часткове резервне копіювання).
Ми не рекомендуємо безпосередньо видаляти каталоги або файли в поточній активній операційній системі перед виконанням операції відновлення (якщо ви не знаєте, що станеться після видалення). Якщо ви не знаєте, що станеться, ви можете виконати операцію «миттєвий знімок» поточної операційної системи.
Порада
З міркувань безпеки рекомендується зберігати відновлений каталог або файл у каталозі /tmp перед виконанням операції відновлення, щоб уникнути ситуацій, коли старі файли (старий каталог) перезаписують нові файли (новий каталог).
Інструменти та відповідні технології¶
Існує багато утиліт для створення резервних копій.
- інструменти редактора;
- графічні інструменти;
- інструменти командного рядка:
tar
,cpio
,pax
,dd
,dump
, ...
Команди, які ми тут використаємо, це tar
і cpio
. Якщо ви хочете дізнатися про інструмент damp
, перегляньте цей документ.
tar
:простий у використанні;
дозволяє додавати файли до існуючої резервної копії.
cpio
:зберігає власників;
- зберігає групи, дати та права;
- пропускає пошкоджені файли;
- можна використовувати для всієї файлової системи.
Примітка
Ці команди зберігають у власному стандартизованому форматі.
Реплікація: технологія резервного копіювання, яка копіює набір даних з одного джерела даних до іншого або кількох джерел даних, головним чином розділених на Синхронну реплікацію та Асинхронну реплікацію. Це розширена частина резервного копіювання для системних адміністраторів-початківців, тому в цьому базовому документі не буде докладно описувати цей вміст.
Правила іменування¶
Використання угоди про найменування дозволяє швидко визначити вміст файлу резервної копії та таким чином уникнути небезпечних відновлення.
- назва довідника;
- використана утиліта;
- використовувані опції;
- дата.
Порада
Ім’я резервної копії має бути чітким.
Примітка
У світі Linux більшість файлів не мають розширення, за винятком кількох винятків у середовищах GUI (таких як .jpg, .mp4, .gif). Іншими словами, більшість розширень файлів не потрібні. Причиною штучного додавання суфіксів є полегшення розпізнавання людьми. Якщо системний адміністратор бачить, наприклад, розширення файлу .tar.gz
або .tgz
, то він знає, як поводитися з файлом.
Вміст резервної копії¶
Резервна копія зазвичай містить такі елементи:
- ім'я файлу (включаючи додані вручну суфікси);
- резервне копіювання atime, ctime, mtime, btime (ctime) самого файлу;
- розмір самого файлу резервної копії;
- властивості або характеристики файлів або каталогів у файлі резервної копії будуть частково збережені. Наприклад, mtime для файлів або каталогів буде збережено, але номер
inode
не буде збережено.
Режими зберігання¶
Існує два різних способи зберігання:
- Внутрішній: зберігати резервні файли на поточному робочому диску.
- Зовнішні: зберігайте файли резервних копій на зовнішніх пристроях. Зовнішніми пристроями можуть бути USB-накопичувачі, компакт-диски, диски, сервери або NAS тощо.
Tape ArchiveR - tar
¶
Команда tar
дозволяє зберігати на кількох послідовних носіях (багатотомні параметри).
Є можливість розпакувати всю або частину резервної копії.
tar
неявно виконує резервне копіювання у відносному режимі, навіть якщо шлях до інформації для резервного копіювання вказано в абсолютному режимі. Проте резервне копіювання та відновлення в абсолютному режимі можливі. Якщо ви хочете побачити окремий приклад використання tar
, зверніться до цього документа.
Інструкції з відновлення¶
Правильними запитаннями є:
- що: часткове чи повне;
- де: місце відновлення даних;
- як: абсолютна чи відносна.
Увага
Перед відновленням важливо подумати та визначити найбільш відповідний метод, щоб уникнути помилок.
Відновлення зазвичай виконуються після того, як виникла проблема, яку необхідно швидко вирішити. Неякісна реставрація може в деяких випадках погіршити ситуацію.
Резервне копіювання за допомогою tar
¶
Стандартною утилітою для створення резервних копій у системах UNIX є команда tar
. Ці резервні копії можна стискати за допомогою bzip2
, xz
, lzip
, lzma
, lzop
, gzip
, compress
або zstd
.
tar
дозволяє витягувати один файл або каталог із резервної копії, переглядати його вміст або перевіряти його цілісність.
Оцінка розміру резервної копії¶
Наступна команда оцінює розмір можливого файлу tar у кілобайтах:
$ tar cf - /directory/to/backup/ | wc -c
20480
$ tar czf - /directory/to/backup/ | wc -c
508
$ tar cjf - /directory/to/backup/ | wc -c
428
Увага
Обережно, наявність «-» у командному рядку заважає zsh
. Переключіться на bash
!
Правила іменування резервної копії tar
¶
Ось приклад іменування резервної копії tar
, знаючи, що дата буде додана до назви.
опції | Файли | Суфікс | Функціональність |
---|---|---|---|
cvf | home | home.tar | /home у відносному режимі, нестиснена форма |
cvfP | /etc | etc.A.tar | /etc в абсолютному режимі, без стиснення |
cvfz | usr | usr.tar.gz | /usr у відносному режимі, стиснення gzip |
cvfj | usr | usr.tar.bz2 | /usr у відносному режимі, стиснення bzip2 |
cvfPz | /home | home.A.tar.gz | home в абсолютному режимі, стиснення gzip |
cvfPj | /home | home.A.tar.bz2 | home в абсолютному режимі, стиснення bzip2 |
… |
Створення резервної копії¶
Створення резервної копії у відносному режимі¶
Створення нестиснутої резервної копії у відносному режимі виконується за допомогою параметра cvf
:
tar c[vf] [device] [file(s)]
Приклад:
[root]# tar cvf /backups/home.133.tar /home/
Параметр | Опис |
---|---|
c | Створює резервну копію. |
v | Відображає назву оброблених файлів. |
f | Дозволяє вказати назву резервної копії (носій). |
Порада
Дефіс (-
) перед tar
не потрібен!
Створення резервної копії в абсолютному режимі¶
Створення нестиснутої резервної копії в абсолютному режимі виконується за допомогою опції cvfP
:
tar c[vf]P [device] [file(s)]
Приклад:
[root]# tar cvfP /backups/home.133.P.tar /home/
Параметр | Опис |
---|---|
P | Створення резервної копії в абсолютному режимі. |
Важливо
За допомогою клавіші P
шлях до файлів для резервного копіювання має бути введений як абсолютний. Якщо дві умови (ключ P
і шлях абсолютний) не вказано, резервне копіювання виконується у відносному режимі.
Створення стисненої резервної копії за допомогою gzip
¶
Створення стисненої резервної копії за допомогою gzip
виконується за допомогою опції cvfz
:
tar cvzf backup.tar.gz dirname/
Параметр | Опис |
---|---|
z | Стискання резервної копії в gzip. |
Примітка
Розширення .tgz
є еквівалентним розширенням .tar.gz
.
Примітка
Зберігання ключів cvf
(tvf
або xvf
) незмінними для всіх операцій резервного копіювання та просте додавання ключа стиснення в кінці ключів робить команду легшою для розуміння (наприклад: cvfz
або cvfj
, та інші).
Створення стисненої резервної копії за допомогою bzip2
¶
Створення стисненої резервної копії за допомогою bzip2
виконується за допомогою клавіш cvfj
:
tar cvfj backup.tar.bz2 dirname/
Параметр | Опис |
---|---|
j | Стискає резервну копію в bzip2. |
Примітка
Розширення .tbz
і .tb2
еквівалентні розширенням .tar.bz2
.
Порівняння ефективності стиснення¶
Стиснення та, як наслідок, розпакування впливатимуть на споживання ресурсів (час і використання ЦП).
Ось рейтинг стиснення набору текстових файлів від найменшого до найбільш ефективного:
- compress (
.tar.Z
) - gzip (
.tar.gz
) - bzip2 (
.tar.bz2
) - lzip (
.tar.lz
) - xz (
.tar.xz
)
Додавання файлу або каталогу до наявної резервної копії¶
До існуючої резервної копії можна додати один або кілька елементів.
tar {r|A}[key(s)] [device] [file(s)]
Щоб додати /etc/passwd
до резервної копії /backups/home.133.tar
:
[root]# tar rvf /backups/home.133.tar /etc/passwd
Додавання каталогу аналогічно. Тут додайте dirtoadd
до backup_name.tar
:
tar rvf backup_name.tar dirtoadd
Параметр | Опис |
---|---|
r | Додає файли або каталоги в кінець архіву. |
A | Додає всі файли в одному архіві в кінець іншого архіву. |
Примітка
Неможливо додати файли або папки до стиснутої резервної копії.
$ tar rvfz backup.tgz filetoadd
tar: Cannot update compressed archives
Try `tar --help' or `tar --usage' for more information.
Примітка
Якщо резервне копіювання було виконано у відносному режимі, додайте файли у відносному режимі. Якщо резервне копіювання було зроблено в абсолютному режимі, додайте файли в абсолютному режимі.
Змішування режимів може викликати проблеми при відновленні.
Перелік вмісту резервної копії¶
Перегляд вмісту резервної копії без її вилучення можливий.
tar t[key(s)] [device]
Параметр | Опис |
---|---|
t | Відображає вміст резервної копії (стисненої чи ні). |
Приклади:
tar tvf backup.tar
tar tvfz backup.tar.gz
tar tvfj backup.tar.bz2
Коли кількість файлів у резервній копії збільшується, ви можете використовувати символи вертикальної лінії (|
) і деякі команди (менше
, більше
, most
та інші), щоб досягти ефекту перегляду сторінок:
tar tvf backup.tar | less
Підказка
Щоб отримати список або отримати вміст резервної копії, немає необхідності згадувати алгоритм стиснення, який використовувався під час створення резервної копії. Тобто tar tvf
еквівалентний tar tvfj
для читання вмісту, а tar xvf
еквівалентний tar xvfj
для вилучення. Тип або алгоритм стиснення треба вибирати лише під час створення стисненої резервної копії.
Підказка
Завжди перевіряйте та переглядайте вміст файлу резервної копії перед виконанням операції відновлення.
Перевірка цілісності резервної копії¶
Цілісність резервної копії можна перевірити за допомогою опції W
під час її створення:
tar cvfW file_name.tar dir/
Цілісність резервної копії можна перевірити за допомогою опції d
після її створення:
tar vfd file_name.tar dir/
Порада
Додавши другий v
до попереднього ключа, ви отримаєте список заархівованих файлів, а також відмінності між заархівованими файлами та файлами, присутніми у файловій системі.
$ tar vvfd /tmp/quodlibet.tar .quodlibet/
drwxr-x--- rockstar/rockstar 0 2021-05-21 00:11 .quodlibet/
-rw-r--r-- rockstar/rockstar 0 2021-05-19 00:59 .quodlibet/queue
[…]
-rw------- rockstar/rockstar 3323 2021-05-21 00:11 .quodlibet/config
.quodlibet/config: Mod time differs
.quodlibet/config: Size differs
[…]
Опція W
також використовується для порівняння вмісту архіву з файловою системою:
$ tar tvfW file_name.tar
Verify 1/file1
1/file1: Mod time differs
1/file1: Size differs
Verify 1/file2
Verify 1/file3
Перевірку за допомогою опції W
неможливо виконати зі стисненим архівом. Замість цього ви повинні використовувати клавішу d
.
tar dfz file_name.tgz
tar dfj file_name.tar.bz2
Розпакування (untar) резервної копії¶
Розпакування (untar) резервної копії *.tar
виконується за допомогою опції xvf
:
Розпакування файлу etc/exports
із резервної копії /savings/etc.133.tar
у каталог etc
активного каталогу:
tar xvf /backups/etc.133.tar etc/exports
Розпакування всіх файлів зі стисненої резервної копії /backups/home.133.tar.bz2
в активний каталог:
[root]# tar xvfj /backups/home.133.tar.bz2
Розпакування усіх файлів з резервної копії /backups/etc.133.P.tar
до оригінального каталогу:
tar xvfP /backups/etc.133.P.tar
Увага
З міркувань безпеки ви повинні бути обережними під час видобування файлів резервних копій, збережених в абсолютному режимі.
Знову ж таки, перед виконанням операцій видобування завжди слід перевіряти вміст файлів резервних копій (особливо тих, що зберігаються в абсолютному режимі).
Параметр | Опис |
---|---|
x | Витягує файли з резервних копій (стиснуті чи ні) |
Видобування резервної копії tar-gzip (*.tar.gz
) виконується за допомогою опції xvfz
:
tar xvfz backup.tar.gz
Видобування резервної копії tar-bzip (*.tar.bz2
) виконується за допомогою опції xvfj
:
tar xvfj backup.tar.bz2
Порада
Щоб видобути або отримати список вмісту резервної копії, немає необхідності згадувати алгоритм стиснення, який використовується для створення резервної копії. Тобто tar xvf
еквівалентний tar xvfj
, щоб витягнути вміст, а tar tvf
еквівалентний tar tvfj
, щоб отримати список.
Увага
Щоб відновити файли у вихідному каталозі (опція P
tar xvf
), ви повинні створити резервну копію з абсолютним шляхом. Тобто за допомогою опцій P
tar cvf
.
Витягнути лише файл із резервної копії tar¶
Щоб отримати певний файл із резервної копії tar, укажіть назву цього файлу в кінці команди tar xvf
.
tar xvf backup.tar /path/to/file
Попередня команда витягує лише файл /path/to/file
із резервної копії backup.tar
. Цей файл буде відновлено до каталогу /path/to/
, створеного або вже наявного в активному каталозі.
tar xvfz backup.tar.gz /path/to/file
tar xvfj backup.tar.bz2 /path/to/file
Витягнути папку з резервної копії tar¶
Щоб отримати лише один каталог (включно з його підкаталогами та файлами) із резервної копії, вкажіть назву каталогу в кінці команди tar xvf
.
tar xvf backup.tar /path/to/dir/
Щоб отримати кілька каталогів, вкажіть кожне з імен одне за одним:
tar xvf backup.tar /path/to/dir1/ /path/to/dir2/
tar xvfz backup.tar.gz /path/to/dir1/ /path/to/dir2/
tar xvfj backup.tar.bz2 /path/to/dir1/ /path/to/dir2/
Витягнути групу файлів із резервної копії tar за допомогою регулярних виразів¶
Укажіть символ підстановки, щоб витягти файли, які відповідають вказаному шаблону вибору.
Наприклад, щоб видобути всі файли з розширенням .conf
:
tar xvf backup.tar --wildcards '*.conf'
опції:
- --wildcards *.conf відповідає файлам із розширенням
.conf
.
Розширені знання
Хоча символи узагальнення та регулярні вирази зазвичай мають однаковий символ або стиль, об’єкти, яким вони відповідають, абсолютно різні, тому люди часто їх плутають.
wildcard (символ підстановки): використовується для відповідності імен файлів або каталогів. регулярний вираз: використовується для відповідності вмісту файлу.
Ви можете переглянути вступ із додатковою інформацією в цьому документі.
CoPy Input Output - cpio
¶
Команда cpio
дозволяє зберігати на кількох послідовних носіях, не вказуючи жодних параметрів.
Є можливість розпакувати всю або частину резервної копії.
На відміну від команди tar
, тут немає параметрів резервного копіювання та стиснення одночасно. Отже, це робиться в два етапи: резервне копіювання та стиснення.
cpio
має три режими роботи, кожен з яких відповідає окремій функції:
режим копіювання copy-out – створює резервну копію (архів). Ви можете ввімкнути цей режим за допомогою параметрів
-o
або--create
. У цьому режимі ви повинні створити список файлів за допомогою певної команди (find
,ls
абоcat
) і передати його в cpio.find
: переглядає дерево, рекурсивне чи ні;ls
: перелічує каталог, рекурсивний чи ні;cat
: читає файл, що містить дерева або файли, які потрібно зберегти.Примітка
ls
не можна використовувати з-l
(деталі) або-R
(рекурсивно).Для цього потрібен простий список імен.
режим копіювання copy-in – витягує файли з архіву. Ви можете ввімкнути цей режим за допомогою параметра
-i
.- режим копіювання copy-pass – копіює файли з одного каталогу в інший. Ви можете ввімкнути цей режим за допомогою параметрів
-p
або--pass-through
.
Подібно до команди tar
, користувачі мають звернути увагу на те, як зберігається список файлів (абсолютний шлях або відносний шлях) під час створення архіву.
вторинна функція:
-t
- Друкує зміст введених даних.-A
- Додає до існуючого архіву. Працює лише в режимі копіювання copy-in.
Примітка
Для правильної роботи деякі параметри cpio
потрібно поєднати з правильним режимом роботи. Дивись man 1 cpio
Режим copy-out¶
Синтаксис команди cpio
:
[files command |] cpio {-o| --create} [-options] [< file-list] [> device]
Приклад:
З перенаправленням виводу cpio
:
find /etc | cpio -ov > /backups/etc.cpio
Використання назви резервного носія:
find /etc | cpio -ovF /backups/etc.cpio
Результат виконання команди find
надсилається як вхідні дані для команди cpio
через pipe (символ |
, + +зсув вліво+зворотна коса риска++).
Тут команда find /etc
повертає команді cpio
список файлів, що відповідають вмісту каталогу /etc
(рекурсивно), який виконує резервне копіювання.
Не забудьте про знак >
під час збереження або F save_name_cpio
.
Опції | Опис |
---|---|
-o | Створює резервну копію в режимі cp-out. |
-v | Відображає назву оброблених файлів. |
-F | Резервне копіювання на певний носій, який може замінити стандартний ввід ("<") і стандартний вихід (">") у команді cpio |
Резервне копіювання на носій:
find /etc | cpio -ov > /dev/rmt0
Носії можуть бути декількох видів:
- стрічковий накопичувач:
/dev/rmt0
; - розділ:
/dev/sda5
,/dev/hda5
тощо.
Відносний і абсолютний шлях до списку файлів¶
cd /
find etc | cpio -o > /backups/etc.cpio
find /etc | cpio -o > /backups/etc.A.cpio
Увага
Якщо шлях, указаний у команді find
, є абсолютним, тоді резервне копіювання буде виконано в абсолютному.
Якщо шлях, указаний у команді find
, є відносним, тоді резервне копіювання буде виконано у відносному.
Додавання файлів до існуючих резервних копій¶
[files command |] cpio {-o| --create} -A [-options] [< fic-list] {F| > device}
Приклад:
find /etc/shadow | cpio -o -AF SystemFiles.A.cpio
Додавання файлів можливе лише на носії прямого доступу.
Опція | Опис |
---|---|
-A | Додає один або кілька файлів до існуючої резервної копії. |
-F | Визначає резервну копію, яку потрібно змінити. |
Стиснення резервної копії¶
- Збережіть потім стисніть
$ find /etc | cpio –o > etc.A.cpio
$ gzip /backups/etc.A.cpio
$ ls /backups/etc.A.cpio*
/backups/etc.A.cpio.gz
- Зберегти та стиснути
find /etc | cpio –o | gzip > /backups/etc.A.cpio.gz
На відміну від команди tar
, немає можливості зберігати та стискати одночасно. Отже, це робиться в два етапи: збереження та стиснення.
Синтаксис першого методу легше зрозуміти і запам'ятати, оскільки він складається з двох кроків.
Для першого методу файл резервної копії автоматично перейменовується утилітою gzip
, яка додає .gz
у кінець імені файлу. Так само утиліта bzip2
автоматично додає .bz2
.
Прочитати вміст резервної копії¶
Синтаксис команди cpio
для читання вмісту резервної копії cpio:
cpio -t [-options] [< fic-list]
Приклад:
cpio -tv < /backups/etc.152.cpio | less
Опції | Опис |
---|---|
-t | Читає резервну копію. |
-v | Відображає атрибути файлу. |
Після створення резервної копії необхідно прочитати її вміст, щоб переконатися, що немає помилок.
Таким же чином, перед виконанням відновлення, ви повинні прочитати вміст резервної копії, яка буде використана.
Режим копіювання copy-in¶
Синтаксис команди cpio
для відновлення резервної копії:
cpio {-i| --extract} [-E file] [-options] [< device]
Приклад:
cpio -iv < /backups/etc.152.cpio | less
Опції | Опис |
---|---|
-i | Відновлює повну резервну копію. |
-E file | Відновлює лише ті файли, ім'я яких міститься у файлі. |
--make-directories or -d | Відновлює відсутню структуру дерева. |
-u | Замінює всі файли, навіть якщо вони існують. |
--no-absolute-filenames | Дозволяє відновити резервну копію, зроблену в абсолютному режимі, у відносний спосіб. |
Увага
За замовчуванням, під час відновлення, файли на диску, дата останньої зміни яких є новішою або дорівнює даті резервної копії, не відновлюються (щоб уникнути перезапису останньої інформації старішою).
Параметр u
, з іншого боку, дозволяє відновити старіші версії файлів.
Приклади:
- Повне відновлення абсолютної резервної копії
cpio –ivF home.A.cpio
- Абсолютне відновлення на існуючій структурі дерева
Параметр u
дозволяє перезаписувати існуючі файли в тому місці, де відбувається відновлення.
cpio –iuvF home.A.cpio
- Відновлення абсолютної резервної копії у відносному режимі
Довгий параметр no-absolute-filenames
дозволяє відновлення у відносному режимі. Насправді /
на початку шляху буде видалено.
cpio --no-absolute-filenames -divuF home.A.cpio
Порада
Створення каталогів, можливо, необхідне, тому використовується опція d
- Відновлення відносної резервної копії
cpio –iv < etc.cpio
- Повне відновлення файлу або каталогу
Відновлення певного файлу або каталогу вимагає створення файлу списку, який потім потрібно видалити.
echo "/etc/passwd" > tmp
cpio –iuE tmp -F etc.A.cpio
rm -f tmp
Утиліти компресії - декомпресії¶
Використання стиснення під час резервного копіювання може мати ряд недоліків:
- Подовжує час резервного копіювання, а також час відновлення.
- Це унеможливлює додавання файлів до резервної копії.
Примітка
Тому краще зробити резервну копію та стиснути її, ніж стискати під час резервного копіювання.
Стиснення за допомогою gzip
¶
Команда gzip
стискає дані.
Синтаксис команди gzip
:
gzip [options] [file ...]
Приклад:
$ gzip usr.tar
$ ls
usr.tar.gz
Файл отримує розширення .gz
.
Він зберігає ті самі права та ті самі дати останнього доступу та змін.
Стиснення за допомогою bzip2
¶
Команда bzip2
також стискає дані.
Синтаксис команди bzip2
:
bzip2 [options] [file ...]
Приклад:
$ bzip2 usr.cpio
$ ls
usr.cpio.bz2
Ім’я файлу має розширення .bz2
.
Стиснення за допомогою bzip2
краще, ніж стиснення за допомогою gzip
, але для його виконання потрібно більше часу.
Декомпресія за допомогою gunzip
¶
Команда gunzip
розпаковує стислі дані.
Синтаксис команди gunzip
:
gunzip [options] [file ...]
Приклад:
$ gunzip usr.tar.gz
$ ls
usr.tar
Ім’я файлу скорочується за допомогою gunzip
, а розширення .gz
видаляється.
gunzip
також розпаковує файли з такими розширеннями:
.z
;-z
;_z
;-gz
;
Декомпресія за допомогою bunzip2
¶
Команда bunzip2
розпаковує стислі дані.
Синтаксис команди bzip2
:
bzip2 [options] [file ...]
Приклад:
$ bunzip2 usr.cpio.bz2
$ ls
usr.cpio
Ім’я файлу скорочується на bunzip2
, а розширення .bz2
видаляється.
bunzip2
також розпаковує файл із такими розширеннями:
-bz
;.tbz2
;tbz
.