feat: Rename Baf to boring-backup
This commit is contained in:
parent
19cbe28aac
commit
37581ae961
6
Makefile
6
Makefile
@ -23,13 +23,13 @@ tests:
|
|||||||
for test in $(tests_dir)/*.bats; do bats --verbose-run --print-output-on-failure "$$test"; done
|
for test in $(tests_dir)/*.bats; do bats --verbose-run --print-output-on-failure "$$test"; done
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
shellcheck $(src_dir)/baf || true
|
shellcheck $(src_dir)/boring-backup || true
|
||||||
shellcheck $(src_dir)/lib/* || true
|
shellcheck $(src_dir)/lib/* || true
|
||||||
|
|
||||||
docs: builddir
|
docs: builddir
|
||||||
# See rst2man(1), rst2html(1), https://docutils.sourceforge.io/docs/index.html
|
# See rst2man(1), rst2html(1), https://docutils.sourceforge.io/docs/index.html
|
||||||
rst2man $(docs_dir)/baf.1.rst | gzip -9 > $(docs_build_dir)/baf.1.gz
|
rst2man $(docs_dir)/boring-backup.1.rst | gzip -9 > $(docs_build_dir)/boring-backup.1.gz
|
||||||
rst2html $(docs_dir)/baf.1.rst > $(docs_build_dir)/baf.1.html
|
rst2html $(docs_dir)/boring-backup.1.rst > $(docs_build_dir)/boring-backup.1.html
|
||||||
|
|
||||||
builddir:
|
builddir:
|
||||||
mkdir -p $(build_dir)
|
mkdir -p $(build_dir)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
===
|
=============
|
||||||
baf
|
boring-backup
|
||||||
===
|
=============
|
||||||
|
|
||||||
---------------------------
|
---------------------------
|
||||||
backup files and databases.
|
backup files and databases.
|
||||||
@ -15,12 +15,12 @@ backup files and databases.
|
|||||||
Синопсис
|
Синопсис
|
||||||
--------
|
--------
|
||||||
|
|
||||||
``baf`` [-cvlhV] FILE..
|
``boring-backup`` [-cvlhV] FILES..
|
||||||
|
|
||||||
Описание
|
Описание
|
||||||
--------
|
--------
|
||||||
|
|
||||||
Baf (Backup Automation Micro-framework) - это расширяемая утилита для резервного копирования на основе сценариев Bash. По умолчанию предусмотрено создание резервных копий файлов с помощью ``tar`` и дампов баз данных MySQL/MariaDB и PostgreSQL.
|
boring-backup - это расширяемая утилита для резервного копирования на основе сценариев Bash. По умолчанию предусмотрено создание резервных копий файлов с помощью ``tar`` и дампов баз данных MySQL/MariaDB и PostgreSQL.
|
||||||
|
|
||||||
Опции
|
Опции
|
||||||
-----
|
-----
|
||||||
@ -34,7 +34,7 @@ Baf (Backup Automation Micro-framework) - это расширяемая утил
|
|||||||
Быстрый старт
|
Быстрый старт
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
Baf можно рассматривать как небольшой фреймворк или библиотеку для создания сценариев резервного копирования. Baf не реализует собственный язык сценариев, а полагается на Bash. В любом варианте применения утилита требует написания сценария для выполнения бэкапа.
|
boring-backup можно рассматривать как небольшой фреймворк/библиотеку для создания сценариев резервного копирования. boring-backup не реализует собственный язык сценариев, а полагается на Bash. В любом варианте применения утилита требует написания сценария для выполнения бэкапа.
|
||||||
|
|
||||||
В сценариях можно использовать переменные и функции. Сценарий импортируется в основной скрипт с помощью команды ``source`` (см. ``bash``\(1) п. SHELL BUILTIN COMMANDS).
|
В сценариях можно использовать переменные и функции. Сценарий импортируется в основной скрипт с помощью команды ``source`` (см. ``bash``\(1) п. SHELL BUILTIN COMMANDS).
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ Baf можно рассматривать как небольшой фреймв
|
|||||||
sources=('file:/home/user')
|
sources=('file:/home/user')
|
||||||
targets=('file:/var/backup')
|
targets=('file:/var/backup')
|
||||||
|
|
||||||
Здесь массивы `sources` и `targets` определяют точки или поинты (`points`) резервного копирования — источники (`sources`) и назначения (`targets`). Это основные сущности, с которыми работает Baf. Вот некоторые особенности поинтов:
|
Здесь массивы `sources` и `targets` определяют точки или поинты (`points`) резервного копирования — источники (`sources`) и назначения (`targets`). Это основные сущности, с которыми работает boring-backup. Вот некоторые особенности поинтов:
|
||||||
|
|
||||||
- Все поинты указываются в формате URI. Описание URI также есть в этой документации ниже.
|
- Все поинты указываются в формате URI. Описание URI также есть в этой документации ниже.
|
||||||
- Поинты могут указывать как на локальные (размещённые на текущей машине), так и на удалённые (размещённые на удалённой машине) ресурсы.
|
- Поинты могут указывать как на локальные (размещённые на текущей машине), так и на удалённые (размещённые на удалённой машине) ресурсы.
|
||||||
@ -162,7 +162,7 @@ dav, davs
|
|||||||
Создание резервных копий
|
Создание резервных копий
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
Baf предполагает, что для всех резервных копий необходимо создавать архивы. Поэтому вам нужно следить за тем, чтобы в локальном хранилище всегда хватало дискового пространства для создания новых архивов. Baf также не удаляет старые архивы и вам также надо позаботиться об удалении устаревших резервных копий. Изменить это поведение можно с помощью пользовательских функций в сценариях. В этом разделе речь пойдёт о поведении, которое установлено по умолчанию. См. функции ``builtin_backup()``, ``process_sources()``, ``process_targets()``.
|
boring-backup предполагает, что для всех резервных копий необходимо создавать архивы. Поэтому вам нужно следить за тем, чтобы в локальном хранилище всегда хватало дискового пространства для создания новых архивов. boring-backup также не удаляет старые архивы и вам также надо позаботиться об удалении устаревших резервных копий. Изменить это поведение можно с помощью пользовательских функций в сценариях. В этом разделе речь пойдёт о поведении, которое установлено по умолчанию. См. функции ``builtin_backup()``, ``process_sources()``, ``process_targets()``.
|
||||||
|
|
||||||
Базовая концепция строится на том, что существует несколько точек источников и несколько точек назначения. Создаётся резервная копия источника и копируется в точку назначения.
|
Базовая концепция строится на том, что существует несколько точек источников и несколько точек назначения. Создаётся резервная копия источника и копируется в точку назначения.
|
||||||
|
|
||||||
@ -179,7 +179,7 @@ Baf предполагает, что для всех резервных копи
|
|||||||
'ftp://jhon:%24t%D0%AFo%7C%5C%7C6@[fe80::5054:ff:fe24:382]:2021/backups/'
|
'ftp://jhon:%24t%D0%AFo%7C%5C%7C6@[fe80::5054:ff:fe24:382]:2021/backups/'
|
||||||
)
|
)
|
||||||
|
|
||||||
Здесь будут созданы архивы файлов и базы данных и сохранены в локальную директорию /var/backup. Затем эти файлы будут переданы по протоколу FTP на сервер fe80::5054:ff:fe24:382 в директорию /backups. Файлы из директории /var/backup не будут удалены или перемещены. Если добавить дополнительную точку назначения, то файлы из /var/backup будут скопированы и туда. Обратите внимание, что Baf не выполняет повторного создания архивов для каждой точки назначения — архивы создаются один раз и далее распространяются по всем указанным назначениям. Если в массиве `targets` имеется несколько точек назначения со схемой `file`, то архивы будут сохранены в первую по порядку точку, а затем скопированы оттуда в остальные.
|
Здесь будут созданы архивы файлов и базы данных и сохранены в локальную директорию /var/backup. Затем эти файлы будут переданы по протоколу FTP на сервер fe80::5054:ff:fe24:382 в директорию /backups. Файлы из директории /var/backup не будут удалены или перемещены. Если добавить дополнительную точку назначения, то файлы из /var/backup будут скопированы и туда. Обратите внимание, что boring-backup не выполняет повторного создания архивов для каждой точки назначения — архивы создаются один раз и далее распространяются по всем указанным назначениям. Если в массиве `targets` имеется несколько точек назначения со схемой `file`, то архивы будут сохранены в первую по порядку точку, а затем скопированы оттуда в остальные.
|
||||||
|
|
||||||
Резервное копирование на удалённое хранилище
|
Резервное копирование на удалённое хранилище
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
@ -204,7 +204,7 @@ WebDAV
|
|||||||
Переменные
|
Переменные
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Baf условно разделяет переменные на "внутренние" ("защищённые") и "обычные". К "защищённым" переменным относятся все перемеменные, имена которых начинаются с двух знаков подчёркивания, например: ``__main_target``. Все остальные переменные считаются "обычными".
|
boring-backup условно разделяет переменные на "внутренние" ("защищённые") и "обычные". К "защищённым" переменным относятся все перемеменные, имена которых начинаются с двух знаков подчёркивания, например: ``__main_target``. Все остальные переменные считаются "обычными".
|
||||||
|
|
||||||
Обычные переменные могут быть перезаписаны в пользовательском скрипте. Защищённые переменные технически ничем от них не отличаются, однако не нужно переопределять такие переменные в пользовательском скрипте, так как это может привести к неожиданным ошибкам во время выполнения скрипта. Точно также очень внимательно нужно относится к перезаписи обычных переменных — в обоих случаях есть риск что-то поломать.
|
Обычные переменные могут быть перезаписаны в пользовательском скрипте. Защищённые переменные технически ничем от них не отличаются, однако не нужно переопределять такие переменные в пользовательском скрипте, так как это может привести к неожиданным ошибкам во время выполнения скрипта. Точно также очень внимательно нужно относится к перезаписи обычных переменных — в обоих случаях есть риск что-то поломать.
|
||||||
|
|
||||||
@ -367,6 +367,12 @@ Baf условно разделяет переменные на "внутрен
|
|||||||
|
|
||||||
Использование функций в сценариях
|
Использование функций в сценариях
|
||||||
---------------------------------
|
---------------------------------
|
||||||
|
Переменные окружения
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
``BBLIB``
|
||||||
|
Путь до библиотеки функций boring-backup.
|
||||||
|
|
||||||
Примеры
|
Примеры
|
||||||
-------
|
-------
|
||||||
См. также
|
См. также
|
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# bafscript -- backup automation micro-framework.
|
# boring-backup -- backup automation micro-framework and library.
|
||||||
# Copyright (c) 2022 ge <https://nixhacks.net/>
|
# Copyright (c) 2022 ge <https://nixhacks.net/>
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
@ -25,8 +25,8 @@ __tar_options='-acf'
|
|||||||
__tar_compression='gzip'
|
__tar_compression='gzip'
|
||||||
__name_date_fmt='_%Y%m%d-%H%M'
|
__name_date_fmt='_%Y%m%d-%H%M'
|
||||||
|
|
||||||
if [ -n "$BAFLIB" ]; then
|
if [ -n "$BBLIB" ]; then
|
||||||
__library="$BAFLIB"
|
__library="$BBLIB"
|
||||||
else
|
else
|
||||||
__library='./lib'
|
__library='./lib'
|
||||||
fi
|
fi
|
||||||
@ -40,7 +40,7 @@ print_help() {
|
|||||||
cat <<- EOF
|
cat <<- EOF
|
||||||
Backup files and databases.
|
Backup files and databases.
|
||||||
|
|
||||||
Usage: $0 [-cvlhV] ARGUMENTS..
|
Usage: $0 [-cvlhV] FILES..
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
-c, --config config file.
|
-c, --config config file.
|
||||||
@ -50,7 +50,7 @@ Options:
|
|||||||
-V, --version print version and exit.
|
-V, --version print version and exit.
|
||||||
|
|
||||||
Environment:
|
Environment:
|
||||||
BAFLIB path to baf library [current: $__library]
|
BBLIB path to bb library [current: $__library]
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user