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'
Timeshift linux командная строка
NAME
timeshift - a system restore utility
SYNOPSIS
timeshift --check timeshift --create[OPTIONS] timeshift --restore[OPTIONS] timeshift --delete-[all][OPTIONS] timeshift --list-[OPTIONS]
DESCRIPTION
timeshift is a system restore utility which takes snapshots of the system at regular intervals. These snapshots can be restored at a later date to undo system changes. Creates incremental snapshots using rsync or BTRFS snapshots using BTRFS tools.
OPTIONS
A summary of options is included below. List: --list[-snapshots] List snapshots. --list-devices List devices. Backup: --check Create snapshot if scheduled. --create Create snapshot (even if not scheduled). --comments Set snapshot description. --tags Add tags to snapshot (default: O). Restore: --restore Restore snapshot. --clone Clone current system. --snapshot Specify snapshot to restore. --target[-device] Specify target device. --grub[-device] Specify device for installing GRUB2 bootloader. --skip-grub Skip GRUB2 reinstall. Delete: --delete Delete snapshot. --delete-all Delete all snapshots. Global: --snapshot-device Specify backup device (default: config). --yes Answer YES to all confirmation prompts. --btrfs Switch to BTRFS mode (default: config). --rsync Switch to RSYNC mode (default: config). --debug Show additional debug messages. --verbose Show rsync output (default). --quiet Hide rsync output. --scripted Run in non-interactive mode. --help Show all options.
EXAMPLES
timeshift --list timeshift --list --snapshot-device /dev/sda1 timeshift --create --comments "after update" --tags D timeshift --restore timeshift --restore --snapshot '2014-10-12_16-29-08' --target /dev/sda1 timeshift --delete --snapshot '2014-10-12_16-29-08' timeshift --delete-all
NOTES
1) --create will always create a new snapshot 2) --check will create a snapshot only if a scheduled snapshot is due 3) Use --restore without other options to select options interactively 4) UUID can be specified instead of device name 5) Default values will be loaded from app config if options are not specified
AUTHOR
© 2019 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.