Страница 1 из 1

Как в терминале исключить директории при восстановлении снимка Timeshift?

Добавлено: 21 апр 2023, 09:04
sasha300
Здравствуйте!
Если в терминале прописать:

Код: Выделить всё

sudo timeshift --restore --snapshot 'name_snapshot'
то появляется интерактивное меню, с помощью которого программа получает дополнительные настройки, но Timeshift не задает вопрос о том, какие директории исключать. В man про исключение директорий тоже ничего нет, в Google тоже..
В домашней директории никаких конфигов Timeshift нет. По пути /etc/timeshift/timeshift.json присутствуют настройки, которые полностью совпадают с теми, которые сделаны в графическом интерфейсе. Но при внесении изменений в этот файл, не запускается программа в GUI режиме; ну ок, раз конфиг не находится в домашней директории, значит лезть туда не стоит.
Для чистоты эксперимента был сделан snapshot полностью всей системы, включая /home /root. В графическом режиме, по пути Timeshift => настройки => фильтры, настраиваю исключение некоторых директорий и из терминала снова запускаю

Код: Выделить всё

sudo timeshift --restore --snapshot 'name_snapshot'

И о чудо, Timeshift не затронул директории, которые были в исключениях!
Это все здорово, но если бы у меня не было костыля в виде DE, то как поступать в этом случае? Пользоваться rsync-ом?
Заранее признателен за ответы!

Как в терминале исключить директории при восстановлении снимка Timeshift?

Добавлено: 21 апр 2023, 09:28
symon2014
sasha300 писал(а):
21 апр 2023, 09:04
Пользоваться rsync-ом?
Timeshft им и пользуется уже.

Как в терминале исключить директории при восстановлении снимка Timeshift?

Добавлено: 21 апр 2023, 10:28
sasha300
symon2014 писал(а):
21 апр 2023, 09:28
Timeshft им и пользуется уже.
Просто Timeshift, как я понял, это некая обертка Rsync в GUI интерфейсе. Если утверждение верно, то команды для Rsync подходят и для Timeshift.

Нашел команды исключения для rsync: https://wiki.dieg.info/rsync, в частности раздел "Шаблоны исключения", вектор задан спасибо! Вечерочком, по результатам экспериментов напишу.

Как в терминале исключить директории при восстановлении снимка Timeshift?

Добавлено: 21 апр 2023, 12:41
slant
sasha300 писал(а):
21 апр 2023, 10:28
Просто Timeshift, как я понял, это некая обертка Rsync в GUI интерфейсе. Если утверждение верно, то команды для Rsync подходят и для Timeshift.
Timeshift это помесь ежа с ужом. Обертка над rsync + обертка над btrfs subvolume
Зависит от FS на которой работает.

Как в терминале исключить директории при восстановлении снимка Timeshift?

Добавлено: 21 апр 2023, 13:20
WWolf
sasha300 писал(а):
21 апр 2023, 09:04
но Timeshift не задает вопрос о том, какие директории исключать.
потому то это и называется снимком - восстанавливает как сохранил!

Как в терминале исключить директории при восстановлении снимка Timeshift?

Добавлено: 21 апр 2023, 21:38
sasha300
В GUI Timeshift вновь сделал полный бекап, в домашней директории создал файл (который должен бы остаться, так как /home/sas хотел добавить в исключение), выполняю команду:

Код: Выделить всё

sudo timeshift --restore --exclude '/home/sas/**' --snapshot '2023-04-21_21-04-14' 
Результат нулевой, программа сообщает:
E: Invalid command line arguments: --exclude

ну раз error, значит придется детально разбираться c Rsync..

Как в терминале исключить директории при восстановлении снимка Timeshift?

Добавлено: 26 апр 2023, 03:27
sasha300
Дополняю пост выводами, мало ли кому пригодиться:
1)
sasha300 писал(а):
21 апр 2023, 09:04
По пути /etc/timeshift/timeshift.json присутствуют настройки, которые полностью совпадают с теми, которые сделаны в графическом интерфейсе. Но при внесении изменений в этот файл, не запускается программа в GUI режиме;
Неправильное умозаключение, при повторных экспериментах с файлом timeshift.json, GUI Timeshift прекрасно запускался. Никаких схожих параметров с rsync, типа ключа --exclude, при запуске сабжа из терминала нет, если хочется исключить какую-либо директорию, надо редактить timeshift.json
2) Логи программы находятся по стандартному пути: /var/log/timeshift/ - много чего проясняет при работе
3)
WWolf писал(а):
21 апр 2023, 13:20
потому то это и называется снимком - восстанавливает как сохранил!
Не верное утверждение!
Можно в /etc/timeshift/timeshift.json в секции "exclude" убрать все строчки, затем запустить "sudo timeshift --create", убедиться в том, что снапшот сделан со всеми директориями, включая содержимое домашней папки, затем в секцию "exclude" добавить директории, восстановление которых не требуется, для пущей проверки, в исключенной папке создать какой-нибудь файл и запустить "sudo timeshift --restore". Timeshift восстановит бекап, при этом содержимое исключенных папок не тронет.

Как в терминале исключить директории при восстановлении снимка Timeshift?

Добавлено: 26 апр 2023, 12:00
slant
И дополнение от меня - вышенаписанное решение касается только его работы с ext4. Когда используется btrfs, что либо исключить он не может в принципе, т.к. механизм btrfs subvolume этого не предусматривает.

Как в терминале исключить директории при восстановлении снимка Timeshift?

Добавлено: 30 апр 2023, 18:47
sasha300
Upd.: словил еще один баг:
Кратко: Timeshift брал настройки не со стандартного места
Решение: юзать последнюю версию

Подробно:
На сервере с Ubuntu 20.04 поставил Timeshift и обнаружил, что конфиг файл timeshift.json находится сразу в двух местах, в /etc/timeshift.json и по пути /etc/timeshift/timeshift.json. Причем рабочий был именно /etc/timeshift.json. Вдобавок, когда подключался к серверу через X2Go (в качестве DE выбрал Xfce), заметил, что настройки фильтров не сохраняются. Если правлю файл /etc/timeshift.json, то настройки фильтров сохраняются корректно. Но все-равно это не айс, так как можно забыть, что настройки берутся с нестандартного местоположения и при восстановлении, невзначай, затереть исключенную директорию.
В итоге выяснил, что в репозитории для Ubuntu 20.04.6 была версия Timeshift v20.03, а корректно работающая на Linux Mint 20.3 на сей момент v22.06.5, но при добавлении репозитория:

Код: Выделить всё

sudo add-apt-repository -y ppa:teejee2008/timeshift
последняя на 30/04/23 является версия 22.11.2
При использовании самой новой версии единственный конфиг находиться по пути /etc/timeshift/timeshift.json, т.е. тут баг исправлен.
Мораль по Timeshift: для Linux Mint 20.3 никаких критичных траблов нет, версия Timeshift v22.06.5 работает с одним единственным конфигом и тут все норм, а вот для Ubuntu 20.04.6 версия слишком старая.
Поэтому универсальным решением от бага, при использовании Timeshift, становиться добавления репозитория от автора проекта.
Всем добра!
p.s.: потом нашел аналогичный вопрос и ответ на гитхабе: https://github.com/teejee2008/timeshift/issues/805

Как в терминале исключить директории при восстановлении снимка Timeshift?

Добавлено: 30 апр 2023, 19:23
rogoznik
sasha300 писал(а):
30 апр 2023, 18:47
teejee2008
Разработкой теперь занимается команда LinuxMint https://github.com/linuxmint/timeshift

Как в терминале исключить директории при восстановлении снимка Timeshift?

Добавлено: 01 май 2023, 10:17
sasha300
rogoznik писал(а):
30 апр 2023, 19:23
Разработкой теперь занимается команда LinuxMint
Это очень хорошая новость, теперь Timeshift точно не повторит судьбу SystemBack!
Но не понял, если разработка перешла сообществу LinuxMint, то почему ppa репозиторий, для новых версий, остался прежним?

Как в терминале исключить директории при восстановлении снимка Timeshift?

Добавлено: 01 май 2023, 10:41
sheridan
sasha300 писал(а):
01 май 2023, 10:17
Но не понял, если разработка перешла сообществу LinuxMint, то почему ppa репозиторий, для новых версий, остался прежним?
Github_LinuxMint

Как в терминале исключить директории при восстановлении снимка Timeshift?

Добавлено: 01 май 2023, 10:43
rogoznik
sasha300 писал(а):
01 май 2023, 10:17
почему ppa репозиторий, для новых версий, остался прежним?
Хз что там происходит. На гите автора последний коммит в октябре прошлого года и висит плашка, что реп в архиве. Кто ppa тянет не понятно
sheridan писал(а):
01 май 2023, 10:41
Github_LinuxMint
Вопрос про ppa. Мы уже разобрались кто разработкой занимается