Timeshift
Timeshift — программа для автоматического периодического создания копий системы (снимков/snapshots).
Timeshift предназначен прежде всего для создания снимков системных файлов и настроек. Пользовательские данные по умолчанию не архивируются поэтому в случае сбоя системы, восстанавливаются системные файлы, а данные пользователей остаются в актуальном состоянии (конечно, если они не были повреждены).
Резервные копии не могут быть восстановлены на уровне отдельных файлов, восстановление всегда происходит в полном объеме настроек Timeshift.
Установка
Установить пакет timeshift :
Запуск программы
Запустить Timeshift можно из «Меню запуска приложений» («Система» → «Timeshift (Программа для восстановления системы)») или из командной строки:
При первом запуске будет запущен «Мастер установки». Запустить «Мастер установки» или открыть окно настроек резервного копирования также можно, нажав соответствующую кнопку на панели инструментов в окне программы Timeshift:
Настройка резервного копирования
Режим RSYNC
- снимки создаются путём копирования системных файлов при помощи rsync и создания жёстких ссылок на неизмененные файлы из предыдущего снимка;
- все файлы копируются при создании первого снимка. Последующие снимки являются инкрементальными. Неизменные файлы будут связаны с предыдущим снимком, если он доступен;
- создание первого снимка может занять до 10 минут;
- системный раздел может быть отформатирован в любой файловой системе. Резервный раздел может быть отформатирован в любой файловой системе Linux, поддерживающей жесткие ссылки. Сохранение снимков на несистемный или внешний диск позволяет восстановить систему, даже если системный диск повреждён;
- можно задать исключения для файлов и каталогов для экономии дискового пространства;
- систему необходимо перезагрузить после восстановления снимка.
На вкладке «Тип» выбрать тип снимков:
Снимки имеют большой размер, поэтому желательно хранить их на другом диске или разделе. По умолчанию снимки сохраняются в системном (корневом) разделе в /timeshift , также можно выбрать другие разделы Linux.
На вкладке «Место» можно выбрать место, где будут храниться снимки:
На вкладке «Расписание» можно выбрать несколько уровней создания снимков (ежемесячно, еженедельно, ежедневно, ежечасно, при загрузке) и указать количество сохраняемых снимков для каждого уровня:
Снимки уровня «Загрузка» создаются при каждом запуске системы (с задержкой в 10 минут). Они выполняются в фоне и не влияют на скорость загрузки системы.
Т.к. Timeshift не предназначен для резервного копирования пользовательских данных, по умолчанию домашние каталоги пользователей не включаются в резервную копию. Это сделано для предотвращения перезаписи пользовательских данных во время восстановления, а также для уменьшения размера резервных копий.
При выборе опции «Include only hidden files» («Включить скрытые элементы») на вкладке «Пользователи» будет выполнено резервное копирование и восстановление скрытых файлов и каталогов в домашней папке (эти папки содержат пользовательские файлы конфигурации и при необходимости могут быть включены в резервные копии):
На вкладке «Фильтры» можно выборочно указать, какие файлы/каталоги включать/исключать из резервного копирования (динамические каталоги исключаются по умолчанию: /dev , /proc , …):
В данном примере из резервного копирования будут исключены все файлы mp3, все системные журналы, кроме журналов веб-сервера apache.
Редактировать шаблон можно дважды щелкнув левой кнопкой мыши по строке шаблона.
- ‘*’ в шаблоне соответствует любому компоненту пути кроме «/»;
- ‘**’ в шаблоне соответствует любому компоненту пути, включая «/».
- /mydir/ — каталог mydir (но не его содержимое);
- /mydir/* — все файлы и каталоги в mydir (но не содержимое вложенных каталогов);
- /mydir/** — все файлы и каталоги в mydir (включая содержимое вложенных каталогов, рекурсивно);
- /mydir/*** — соответствует как каталогу mydir (как если бы было указано «/mydir/»), так и всему содержимому этого каталога (как если бы было указано «/mydir/**»).
Для того чтобы исключить из снимка содержимое каталога, но сам каталог оставить, нужно указать в шаблоне ‘/mydir/**’, а не ‘/mydir/’ (для каталога указание «/» в конце обязательно).
Шаблон не начинающийся с ‘/’ проверяется с конца строки.
Если шаблон начинается на «+», то он рассматривается как включающий шаблон.
Подробнее см. man rsync.
Примечание: Не рекомендуется включать пользовательские данные в резервные копии, так как они будут перезаписаны при восстановлении снимка.
Просмотреть итоговый список исключений можно, нажав кнопку «Кратко» на вкладке «Фильтры»:
Режим BTRFS
- снимки создаются с использованием встроенных средств файловой системы BTRFS;
- снимки создаются и восстанавливаются мгновенно (создание снимков — это атомарная транзакция на уровне файловой системы);
- снимки восстанавливаются путём замены системных подразделов. Поскольку файлы никогда не копируются, не удаляются и не перезаписываются, риск потери данных отсутствует. Существующая система сохраняется как новый снимок после восстановления;
- снимки сохраняются на том же диске, с которого они созданы (системном диске). Хранение на других дисках не поддерживается. Если системный диск выйдет из строя, снимки, хранящиеся на нём, будут потеряны вместе с системой;
- нет возможности исключать файлы и каталоги;
- размер снимков BTRFS изначально равен нулю. При изменении системных файлов, данные записываются в новые блоки данных, которые занимают дисковое пространство (копирование при записи). Файлы в снимке продолжают указывать на исходные блоки данных;
- ОС должна быть установлена на раздел BTRFS с разбивкой на подразделы @ и @home (см. Btrfs). Другие виды разделов не поддерживаются;
- снимки можно восстановить без немедленной перезагрузки запущенной системы.
На вкладке «Тип» выбрать тип снимков:
Настоятельно рекомендуется использовать моментальные снимки BTRFS в системах, установленных в разделе BTRFS.
На вкладке «Место» указать устройство, где будут храниться снимки:
На вкладке «Расписание» можно выбрать несколько уровней создания снимков (ежемесячно, еженедельно, ежедневно, ежечасно, при загрузке) и указать количество сохраняемых снимков для каждого уровня:
Снимки уровня «Загрузка» создаются при каждом запуске системы (с задержкой в 10 минут). Они выполняются в фоне и не влияют на скорость загрузки системы.
Т.к. Timeshift не предназначен для резервного копирования пользовательских данных, по умолчанию домашние каталоги пользователей не включаются в резервную копию. На вкладке «Пользователи» можно включить подраздел @home в создаваемые снимки:
Создание снимков
Снимки будут создаваться автоматически согласно настроенному расписанию.
Для создания снимка в ручном режиме следует нажать кнопку «Создать» на панели инструментов. Создание снимка в режиме RSYNC:
Восстановление системы
Снимки можно восстановить либо из работающей системы (оперативное восстановление), либо из другой системы, на которой установлен Timeshift (автономное восстановление).
Снимки можно восстановить, выбрав снимок в главном окне и нажав кнопку «Восстановить» на панели инструментов.
Примечание: Если основная система не загружается, то можно загрузиться с Live CD, установить Timeshift, на вкладке «Место» указать расположение снимков и восстановить снимок в основной системе:
Для завершения процесса восстановления требуется перезагрузка системы.
При восстановлении снимка в режиме RSYNC после нажатия кнопки «Восстановить» можно выбрать устройство, куда будут восстановлены файлы, указать нужно ли переустанавливать GRUB (кнопка «Параметры загрузчика»):
на следующем шаге будут показаны файлы, которые будут созданы/восстановлены/удалены в процессе восстановления снимка (только в режиме RSYNC):
Работа с Timeshift в командной строке
Если параметры не указаны, например при создании снимка, значения по умолчанию будут загружены из конфигурации приложения.
# timeshift --list /dev/sda2 is mounted at: /run/timeshift/backup, options: rw,relatime,ssd,space_cache=v2,subvolid=5,subvol=/ Device : /dev/sda2 UUID : 9306bd96-eaee-41d9-a65d-6385c68357d2 Path : /run/timeshift/backup Mode : BTRFS Status : OK 5 snapshots, 107.4 GB free Num Name Tags Description ------------------------------------------------------------------------------ 0 > 2021-12-28_16-56-22 O 1 > 2021-12-28_17-01-26 O 2 > 2021-12-29_08-48-49 O 3 > 2021-12-29_15-40-02 O D 4 > 2021-12-29_15-41-48 O Before restoring '2021-12-28 17:01:26'
# timeshift --create --comments "after update" --tags D Using system disk as snapshot device for creating snapshots in BTRFS mode /dev/sda2 is mounted at: /run/timeshift/backup, options: rw,relatime,ssd,space_cache=v2,subvolid=5,subvol=/ Creating new backup. (BTRFS) Saving to device: /dev/sda2, mounted at path: /run/timeshift/backup Created directory: /run/timeshift/backup/timeshift-btrfs/snapshots/2021-12-29_16-06-38 Created subvolume snapshot: /run/timeshift/backup/timeshift-btrfs/snapshots/2021-12-29_16-06-38/@ Created control file: /run/timeshift/backup/timeshift-btrfs/snapshots/2021-12-29_16-06-38/info.json BTRFS Snapshot saved successfully (0s) Tagged snapshot '2021-12-29_16-06-38': ondemand ------------------------------------------------------------------------------
Создание снимка, если он запланирован (есть в расписании):
Восстановить снимок (параметры будут запрошены в интерактивном режиме):
# timeshift --restore --snapshot '2021-12-28_17-01-26'
Восстановить определенный снимок в необходимый раздел (для rsync):
# timeshift --restore --snapshot 1 --target /dev/sda2
# timeshift --delete --snapshot '2021-12-28_17-01-26'
Создание резервной копии системы и ее восстановление в Linux Mint
В этой статье я расскажу, как создать снимок системы , т.е. резервную копию системы в дистрибутиве Linux Mint.
Linux очень стабильная система, но если Вы часто меняете настройки или устанавливаете программы, то иногда вам хочется вернуть все назад, до изменений. Т.е. восстановить систему на определённый момент времени до Ваших действий, которые и стали причиной этого сбоя, это могут быть некорректные настройки или установленное приложение.
После установки Linux Mint устанавливается по умолчанию приложение TimeShift, которое умеет создавать снимки системы ( включая личные файлы ) и восстанавливать ее из этих снимков.
TimeShift – это как аналог приложения «Восстановление системы» в Windows, которое также создает копию системы и восстанавливает систему из этой копии.
Запуск и настройка TimeShift
Для запуска приложение TimeShift нажимаем «Меню -> Администрирование -> TimeShift» .
Для запуска программы система требует прав администратора, поэтому после запуска сразу появится окно для ввода пароля администратора. Вводим и жмем «Аутентифицировать» .
Если Вы впервые запускаете TimeShift, то у Вас сразу запустится мастер, который поможет Вам настроить приложение на создание снимков системы.
Сначала выбираем тип снимков, если у Вас файловая система Ext4, то выбирайте первый тип «RSYNC» , а если Вы используете файловую систему BTRFS, то выбирайте одноименной пункт. Нажимаем «Далее» .
Программа анализирует систему.
Далее необходимо указать место для хранения снимков, точнее, раздел диска, лучше указывать не системный раздел, а тот, на котором побольше места( у меня для этого отдельный диск ). Выбираем и нажимаем «Далее» .
Далее необходимо настроить расписание создания снимков, например, ежедневно или раз в неделю, эта возможность позволяет в автоматическом режиме создавать снимки системы Linux Mint.
На этом шаге, Вам необходимо указать, сколько снимков нужно хранить, т.е., если вы укажите 3, то тогда, когда будет создаваться 4 снимок, самый первый будет удален, таким образом, инструмент будет хранить 3 самых последних снимков, что позволяет контролировать занимаемое место снимками на диске.
Делаем настройки, которые Вы желаете, и нажимаем «Далее» .
На следующем шаге идут настройки, с помощью которых мы можем указать, что в снимки необходимо включать домашние каталоги (home) пользователей, так как по умолчанию данная возможность не используется. Часто пользовательские файлы, которые размещаются в папке /home/user/ изменяются, а в случае восстановления вы можем потерять эти корректные изменения. Поэтому здесь решать Вам, если хотите — включайте, если не хотите — оставляйте по умолчанию. Также от этого зависит размер снимка, который сделает программа.