Резервное копирование

frost backup сразу создаёт резервную копию ваших папок. Отправляется только то, что изменилось с прошлой копии.

#Создать копию

frost backup

Frost показывает, что изменилось, сколько отправлено и чем закончилась выборочная проверка:

┌  backup  sftp://me@nas.local/~/frost
│
│  changes      3 added, 1 changed
│  files        1,204 (2.1 GB)
│  new data     14.2 MB in 9 chunks (9.8 MB uploaded after compression)
│  verified     ok, 21 random objects re-downloaded and checked
│
└  Saved snapshot maple-absurd-3f1c

Файл считается изменённым, если поменялись его содержимое, размер, права доступа или время изменения. Изменение одного лишь времени изменения папки не считается, потому что временные файлы меняют его постоянно.

Если ничего не изменилось, Frost не сохраняет новый снимок:

┌  backup  sftp://me@nas.local/~/frost
│
│  files        1,204 (2.1 GB)
│  verified     ok 3h ago, 21 objects checked
│
└  Already backed up. No changes detected since snapshot maple-absurd-3f1c, saved 3h ago.

В конце резервного копирования появляется предупреждение storage, если хранилищу нужно ваше внимание, например когда учётная запись Permafrost, диск сервера или локальный диск почти заполнены.

Если автоматическое копирование включено, запускать эту команду самому придётся редко. Подробнее в разделе Автоматическое резервное копирование.

#Посмотреть заранее

frost backup --dry-run

Пробный запуск перечисляет все файлы с новыми данными для отправки и общий объём, но ничего не отправляет и не сохраняет снимок. -n означает то же, что --dry-run.

#Параметры

Параметр Что делает
-n, --dry-run Показывает, что было бы отправлено, ничего не отправляя
--path <dir> Копирует эту папку вместо обычных. Повторите, чтобы добавить ещё папки
--exclude <pattern> Дополнительно исключает этот шаблон, только в этот раз. Повторите, чтобы добавить ещё шаблоны
--no-verify Пропускает выборочную проверку после копирования

Чтобы изменить папки, которые копируются каждый раз, снова запустите frost init или загляните в раздел Настройки.

#Что копируется

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

  • Символическая ссылка сохраняется как сама ссылка, а не как файл, на который она указывает.
  • Файлы с жёсткими ссылками копируются и восстанавливаются как отдельные файлы.

Frost не копирует:

  • Всё, что есть в списке исключений. Подробнее в разделе Исключение файлов.
  • Сокеты, устройства и каналы.
  • Владельцев файлов, ACL и расширенные атрибуты.
  • В macOS файлы, которые iCloud хранит только в облаке. Frost их не скачивает, а пропускает и выводит в списке.
  • Файлы .frost-partial-..., оставшиеся после прерванного восстановления.

#Если что-то пошло не так

Что произошло Что делает Frost
Файл или папку не удаётся прочитать: нет прав, объект удалили во время копирования или он есть только в iCloud Пропускает и выводит в списке. Снимок всё равно сохраняется, а frost status показывает, сколько элементов пропущено
Папки из списка нет на месте, например она на отключённом диске Пропускает её и копирует остальное. frost backup и frost status называют отсутствующую папку
Нет ни одной папки из списка или одна есть, но её вообще не удаётся прочитать Вся копия завершается ошибкой, чтобы копия никогда не выглядела успешной, если ничего не сохранено
Файл меняется, пока Frost его читает: используемая база данных, диск работающей виртуальной машины, загрузка Перечитывает его в конце копирования. Если файл всё ещё меняется, снимок сохраняет его прежнюю копию, а Frost выводит файл в списке. Файл, который ни разу не удалось скопировать целиком, пропускается

Frost не делает снимков файловой системы или базы данных. Файл, который всё время занят, копируйте, когда программа, которая его использует, закрыта.

В macOS для чтения некоторых папок Frost нужно ваше разрешение. Подробнее в разделе Разрешения macOS.

#Выборочная проверка

После копии, которая сохраняет снимок, Frost скачивает несколько случайных блоков, по умолчанию 20, и проверяет их. После копии без изменений он проверяет снова, только если прошлой проверке больше суток или она нашла проблему. Если проверка не прошла, копия сообщает об ошибке. Подробнее в разделе Проверка резервных копий.

#Прерванные копии

Если копирование оборвалось на середине, например из-за обрыва связи, закрытой крышки ноутбука или Ctrl+C, уже отправленное не пропадает. Frost отмечает блоки по мере отправки, и следующая копия их пропустит.

#Рядом с копированием по расписанию

Если копирование по расписанию начнётся в ближайший час или закончилось в последний час, frost backup сообщает об этом и спрашивает, прежде чем начать:

┌  backup  sftp://me@nas.local/~/frost
│
│  A scheduled backup starts in 40m, at 15:00.
│  Back up now anyway? [Y/n]

Нажмите Enter, чтобы всё равно сделать копию, или введите n, чтобы отказаться. Для расписаний с интервалом меньше 4 часов окно составляет четверть интервала. Завершённое копирование учитывается, только если оно прошло успешно и вы с тех пор не делали копию сами. Frost спрашивает только в терминале и не спрашивает при предварительном просмотре или с --path или --exclude.

#По одной за раз

Резервное копирование или восстановление из командной строки блокирует свой локальный кэш на время работы. Если другой команде нужен этот кэш, Frost сообщает "a backup or restore operation is already in progress; try again when it completes" (копирование или восстановление уже выполняется, попробуйте после его завершения). Если это копирование по расписанию, Frost сообщает "a scheduled backup is already running" (копирование по расписанию уже выполняется) и когда оно началось. А копирование по расписанию, которое застаёт кэш заблокированным, ждёт до часа. Обозреватель снимков снимает блокировку кэша, поэтому его можно держать открытым и восстанавливать файлы, пока идёт копирование. У разных папок кэша и компьютеров отдельные блокировки.