Резервные копии⚓︎
Система резервного копирования в Grav была полностью переписана для Grav 1.6, чтобы обеспечить больше функций и возможностей. Улучшения включают:
- Интеграция с новым Grav Scheduler, чтобы автономное резервное копирование могло запускаться, когда вы хотите
- Возможность создания нескольких резервных ** профилей **, каждый со своим собственным набором файлов, исключая правила пути и файлов, а также настройку расписания
- Новые возможности автоматической очистки на основе
number
,space
илиtime
. - Новая специальная страница резервного копирования в разделе Инструменты подключаемого модуля администратора.
Конфигурация⚓︎
Для обратной совместимости конфигурация по умолчанию имитирует систему до Grav 1.6, однако теперь она имеет ограничение в 5 ГБ по умолчанию для резервного пространства. Вы должны скопировать файл конфигурации по умолчанию (system/config/backups.yaml
) в ваш user/config/
Если вы используете плагин админки и сохраните конфигурацию, файл user/config/backups.yaml
будет создан автоматически.
Конфигурация по умолчанию следующая:
purge:
trigger: space
max_backups_count: 25
max_backups_space: 5
max_backups_time: 365
profiles:
-
name: 'Default Site Backup'
root: '/'
schedule: false
schedule_at: '0 3 * * *'
exclude_paths: "/backup\r\n/cache\r\n/images\r\n/logs\r\n/tmp"
exclude_files: ".DS_Store\r\n.git\r\n.svn\r\n.hg\r\n.idea\r\n.vscode\r\nnode_modules"
Очистка⚓︎
space
- удалит старые резервные копии, когда вы достигнете предельного места. Контролируетсяmax_backups_space
, измеряется в ГБtime
- удалит старые резервные копии, превышающие количество дней. Контролируетсяmax_backups_time
, измеряемым вднях
.number
- удалит старые резервные копии сверх определенного количества. Контролируетсяmax_backups_count
.
Профили⚓︎
Можно настроить массив профилей. Профиль «Резервное копирование сайта по умолчанию» настроен аналогично профилю резервного копирования Grav по умолчанию в предыдущих версиях. По умолчанию резервное копирование не обрабатывается планировщиком автоматически, но вы можете установить schedule: true
и настроить параметр schedule_at:
с предпочтительным выражением cron.
Примером более сложного набора профилей может быть:
profiles:
-
name: 'Default Site Backup'
root: /
exclude_paths: "/backup\r\n/cache\r\n/images\r\n/logs\r\n/tmp"
exclude_files: ".DS_Store\r\n.git\r\n.svn\r\n.hg\r\n.idea\r\n.vscode\r\nnode_modules"
schedule: true
schedule_at: '0 4 * * *'
-
name: 'Pages Backup'
root: 'page://'
exclude_files: .git
schedule: true
schedule_at: '* 3 * * *'
Команда CLI⚓︎
Более подробно это описано в разделе Cli Console -> Grav Command, но вот пример запуска резервного копирования вручную:
cd ~/workspace/portfolio
bin/grav backup
Grav Backup
===========
Choose a backup?
[0] Default Site Backup
[1] Pages Backup
Archiving 36 files [===================================================] 100% < 1 sec Done...
[OK] Backup Successfully Created: /users/joe/workspace/portfolio/backup/pages_backup--20190227120510.zip