48 lines
2.3 KiB
TOML
48 lines
2.3 KiB
TOML
host_name = "{{ host_name }}"
|
||
|
||
roots = [
|
||
"{{ application_dir }}"
|
||
]
|
||
|
||
# Расписание обслуживающих фаз restic.
|
||
# Триггер — один ночной запуск (cron в playbook-backups.yml), поэтому в выражениях
|
||
# значимы ТОЛЬКО поля дня месяца / месяца / дня недели. Минуты и часы держим как
|
||
# "* *" — они декоративны: фаза всё равно выполняется в момент ночного прогона,
|
||
# а не во время, указанное в выражении.
|
||
# День недели по cron-конвенции: 0 = воскресенье.
|
||
# backup и forget выполняются КАЖДЫЙ прогон и в расписании не участвуют.
|
||
[schedule]
|
||
check = "* * * * 0" # структурный restic check — по воскресеньям
|
||
verify = "* * 5 * *" # check --read-data-subset — 5-го числа
|
||
prune = "* * 1 1,4,7,10 *" # restic prune — 1-го числа янв/апр/июл/окт
|
||
|
||
# Параметры обслуживания. Подобраны под Yandex Object Storage Intelligent Tiering:
|
||
# редкий prune с высоким --max-unused минимизирует репак и не сбивает охлаждение объектов.
|
||
[maintenance]
|
||
verify_subset = "1/12" # порция данных за один verify -> полное покрытие за год
|
||
prune_max_unused = "20%" # выше дефолтных 5% -> меньше репака -> дольше держится охлаждение
|
||
prune_max_repack = "5G" # потолок объёма перезаписи за один prune
|
||
|
||
[storage.yandex_cloud_s3]
|
||
type = "restic"
|
||
restic_repository = "{{ restic_repository }}"
|
||
restic_password = "{{ restic_password }}"
|
||
|
||
[storage.yandex_cloud_s3.env]
|
||
AWS_ACCESS_KEY_ID = "{{ restic_s3_access_key }}"
|
||
AWS_SECRET_ACCESS_KEY = "{{ restic_s3_access_secret }}"
|
||
AWS_DEFAULT_REGION = "{{ restic_s3_region }}"
|
||
|
||
[storage.pr86keedav]
|
||
type = "restic"
|
||
restic_repository = "{{ restic_pr86keedav_repository }}"
|
||
restic_password = "{{ restic_pr86keedav_password }}"
|
||
|
||
[storage.pr86keedav.env]
|
||
RCLONE_CONFIG = "{{ rclone_config_file }}"
|
||
|
||
[notifier.apprise]
|
||
type = "apprise"
|
||
api_url = "{{ apprise_external_url }}"
|
||
tag = "server"
|