Резервное копирование Timeshift Ubuntu 24.04.1
Предисловие
Это пятая, а по факту самая важная заметка из серии по настройке домашнего интернет шлюза на базе Ubuntu 24.04.1 LTS, посвященная резервному копированию и восстановлению данных из резервных копий с помощью Timeshift. Именно из-за отсутствия резервного копирования начался цикл этих заметок.
Предыдущий материал:
Диск бэкапов
Так как наше железо - есть домашний шлюз, диском для бэкапа был выбран USB WD 1Tb. После подключения определился со следующей инфой sudo fdisk -l
:
Disk /dev/sdc: 931,51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Generic
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00957b00
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 1953521663 1953519616 931,5G 7 HPFS/NTFS/exFAT
То, что диск отформатирован в NTFS - не страшно, ведь предпочитаемым вариантом работы будет RSYNC
. Он может работать с данной файловой системой в отличии от BTRFS
, которому для работы потребуется диск с файловой системой ext4
.
Установка Timeshift
sudo add-apt-repository ppa:teejee2008/timeshift -y
sudo apt-get update
sudo apt install timeshift
Создаем первый бэкап командой sudo timeshift --create --comments "First Snapshot" --snapshot-device /dev/sdc1
, где /dev/sdc1
- диск определенный мной для бэкапов.
Параметр команды | Описание |
---|---|
timeshift --check |
Проверить что будет выполненно, не выполняя |
timeshift --create |
Создать моментальный снимок системы |
timeshift --restore |
Восстановить систему из моментального снимока |
timeshift --delete |
Удалить моментальный снимок системы |
timeshift --delete-all |
Удалить все моментальные снимки системы |
timeshift --list |
Информация по настройкам |
timeshift --comments |
Описание моментального снимка |
timeshift --tags |
Тип резервного копирования: D - ежедневное, W - еженедельное, M - ежемесячное, O - по требованию |
timeshift --rsync |
Переключиться в режим RSYNC |
timeshift --btrfs |
Переключиться в режим BTRFS |
timeshift --debug |
Показывать отладочные сообщения |
timeshift --yes |
Отвечать ДА на все запросы подтверждения |
timeshift --snapshot-device /dev/sdc1 |
Указать устройство резервного копирования |
Команда выполняется некоторое время, по результату получаем примерно следующий вывод:
Mounted '/dev/sdc1' at '/run/timeshift/6411/backup'
------------------------------------------------------------------------------
Estimating system size...
Creating new snapshot...(RSYNC)
Saving to device: /dev/sdc1, mounted at path: /run/timeshift/6411/backup
Syncing files with rsync...
Created control file: /run/timeshift/6411/backup/timeshift/snapshots/2024-10-28_21-43-04/info.json
RSYNC Snapshot saved successfully (688s)
Tagged snapshot '2024-10-28_21-43-04': ondemand
Проверяем настройки командой sudo timeshift --list
:
Mounted '/dev/sdc1' at '/run/timeshift/8340/backup'
Device : /dev/sdc1
UUID : 0E00005D42D70000
Path : /run/timeshift/8340/backup
Mode : RSYNC
Status : OK
1 snapshots, 995.6 GB free
Num Name Tags Description
------------------------------------------------------------------------------
0 > 2024-10-28_21-43-04 O First Snapshot
Как видим - снапшот создан, тег не был указан, поэтому "по-умолчанию" установлен как снапшот по требованию. Отлично. После первого беэапа обновятся настройки файла /etc/timeshift/timeshift.json
:
"backup_device_uuid" : "0E00005D42D70000",
"parent_device_uuid" : "",
"do_first_run" : "false",
"btrfs_mode" : "false",
"include_btrfs_home_for_backup" : "false",
"include_btrfs_home_for_restore" : "false",
"stop_cron_emails" : "true",
"schedule_monthly" : "false",
"schedule_weekly" : "false",
"schedule_daily" : "false",
"schedule_hourly" : "false",
"schedule_boot" : "false",
"count_monthly" : "2",
"count_weekly" : "3",
"count_daily" : "5",
"count_hourly" : "6",
"count_boot" : "5",
"date_format" : "%Y-%m-%d %H:%M:%S",
"exclude" : [
"/home/user/**",
"/root/**"
],
"exclude-apps" : []
}
Обновил настройки, изменил следующие опции:
"schedule_monthly" : "true",
"schedule_weekly" : "true",
"schedule_daily" : "true",
"count_monthly" : "3",
"count_weekly" : "4",
"count_daily" : "7",
После этого я зачем-то удалил первый снапшот, и повторил команду его создания уже с учетом отредактированных настроек в сокращенном формате: sudo timeshift --create --comments "First Snapshot"
.
Вывод в консоль дополнительно сообщает о создании задания cron для создания резервной копии. Создается файл /etc/cron.d/timeshift-hourly
:
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
0 * * * * root timeshift --check --scripted
Информации о создании заданий на еженедельное/ежемесячное создание резервных копий я не нашел (не увидел), однако на следующий день запустив команду sudo timeshift --list
увидел, что есть резервные копии и еженедельные и ежемесячные:
daniil@home:~$ sudo timeshift --list
Mounted '/dev/sdc1' at '/run/timeshift/9271/backup'
Device : /dev/sdc1
UUID : 0E00005D42D70000
Path : /run/timeshift/9271/backup
Mode : RSYNC
Status : OK
4 snapshots, 981.0 GB free
Num Name Tags Description
------------------------------------------------------------------------------
0 > 2024-11-04_20-51-12 O First Snapshot
1 > 2024-11-04_22-00-04 M
2 > 2024-11-05_00-00-04 W
3 > 2024-11-05_03-00-05 D
На этом пока что все.