LINUX.ORG.RU
ФорумAdmin

Исключения Timeshift

 , , , ,


0

1

Доброго времени суток.

На сервере настроен бэкап с помощью Timeshift на отдельный диск. Система стоит на soft-RAID (mdraid) из трёх разделов: корень, файлохранилище и своп. Хранилище смонтировано в /Data.

Теперь, собственно, к сути проблемы. При создании бэкапа, Timeshift упорно игнорирует директорию /Data, а бэкапить ее очень нужно. Собственно, для этого всё и затевалось. В каталоге с резервной копией лежит файл exclude.list, в котором обнаружились строчки /Data/** в разных регистрах.

Пробовал убирать исключения в разных форматах, что нашёл в интернете и с помощью ИИ - бесполезно. Строки появляются снова.

Пробовал добавлять в /etc/timeshift/timeshift.json следующие варианты:

+/Data/*** +/Data/** -/Data/*** -/Data/**

Может кто сталкивался и решил эту проблему, поделитесь опытом?

ОС: ALT Linux 11 Server

Строки появляются снова.

В смысле вы их удаляете, а их кто-то добавляет обратно?

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

/etc/timeshift/timeshift.json

{
  "backup_device_uuid" : "1534dcf3-c171-4638-829a-26e700fa3ba9",
  "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",
  "snapshot_size" : "312960039892",
  "snapshot_count" : "86177",
  "date_format" : "%Y-%m-%d %H:%M:%S",
  "exclude" : [
    "/home/%USER%/**",
    "/root/**",
    "+ /Data/***"
  ],
  "exclude-apps" : []
}

В папке резервной копии лежит файлик exclude.list:

/dev/*
/proc/*
/sys/*
/media/*
/mnt/*
/tmp/*
/run/*
/var/run/*
/var/lock/*
/var/lib/dhcpcd/*
/var/lib/docker/*
/var/lib/schroot/*
/lost+found
/timeshift/*
/timeshift-btrfs/*
/data/*
/DATA/*
/cdrom/*
/sdcard/*
/system/*
/etc/timeshift.json
/var/log/timeshift/*
/var/log/timeshift-btrfs/*
/swapfile
/snap/*
/root/.thumbnails
/root/.cache
/root/.dbus
/root/.gvfs
/root/.local/share/[Tt]rash
/home/*/.thumbnails
/home/*/.cache
/home/*/.dbus
/home/*/.gvfs
/home/*/.local/share/[Tt]rash
/Data/*
/root/.mozilla/firefox/*.default/Cache
/root/.mozilla/firefox/*.default/OfflineCache
/root/.opera/cache
/root/.kde/share/apps/kio_http/cache
/root/.kde/share/cache/http
/home/*/.mozilla/firefox/*.default/Cache
/home/*/.mozilla/firefox/*.default/OfflineCache
/home/*/.opera/cache
/home/*/.kde/share/apps/kio_http/cache
/home/*/.kde/share/cache/http
/var/cache/apt/archives/*
/var/cache/pacman/pkg/*
/var/cache/yum/*
/var/cache/dnf/*
/var/cache/eopkg/*
/var/cache/xbps/*
/var/cache/zypp/*
/var/cache/edb/*
/home/%USER%/**
+ /Data/***
/root/**
/home/*/**
The_KuT
() автор топика

Timeshift автоматически игнорирует точки монтирования, а также просто путь /DATA явным образом, чтобы бэкап включал систему, а не пользовательские данные.

Поскольку всё это в итоге достаётся rsync --exclude-from='...', нужно добавлять исключения так, чтобы он понял, через + /Data/**, с пробелом после + и двумя звёздочками на конце. Возможно, это всё равно не поможет, потому что правило, которое исключает /Data, располагается в том же файле.

AITap ★★★★★
()
Ответ на: комментарий от ugoday

Вроде, так и должно быть. timeshift позиционируется как утилита для восстановления системы, а не пользовательских данных. exclude.list не конфиг, а внутренний файл, который генерится по данным из .json-файла и данных, засунутых в код.

Пользователь может только что-то добавть в исключения, но отменить дефолтный набор нельзя.

mky ★★★★★
()
Ответ на: комментарий от mky

Тогда, получается, что конфиг, timeshifts.json, содержит

  "exclude" : [
    "+ /Data/***"

Ну и всё, собственно. Программе сказали исключить, она и исключает.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Может я не правильно понял, но, вроде, ТС сначала получил, что «/Data» добавляется, а потом написал её в json. Но, в его exclude.list каталогов перечисленно гораздо больше, чем timeshifts.json. Если смотреть исходный код, то https://github.com/linuxmint/timeshift/blob/master/src/Core/Main.vala , то там:

	exclude_list_default.add("/timeshift-btrfs/*");
	exclude_list_default.add("/data/*");
	exclude_list_default.add("/DATA/*");
	exclude_list_default.add("/cdrom/*");
	exclude_list_default.add("/sdcard/*");

А вот есть форк https://github.com/antonio-petricca/timeshift_snap_fix/ , который начался с того, что Timeshift исключал «/snap». Из этого можно пердположить, что конифгом exclude_list_default не перебить и автора не убедить убрать что-либо из exclude_list_default.

mky ★★★★★
()
Ответ на: комментарий от ugoday

В доках написано, что если перед исключением стоит + , исключение работает наоборот - как принудительное включение.

The_KuT
() автор топика
Ответ на: комментарий от The_KuT

Да я уже сообразил. Выше вон написали:

exclude_list_default.add("/DATA/*");

интересно что это за название такое что его по умолчанию банят, первый раз такую диру встречаю в корне.

mx__ ★★★★★
()

сливай всё обычным rsync и не мучайся.

ps1h ★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.