feat: Rename Baf to boring-backup
This commit is contained in:
		
							
								
								
									
										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 также есть в этой документации ниже.
 | 
				
			||||||
- Поинты могут указывать как на локальные (размещённые на текущей машине), так и на удалённые (размещённые на удалённой машине) ресурсы.
 | 
					- Поинты могут указывать как на локальные (размещённые на текущей машине), так и на удалённые (размещённые на удалённой машине) ресурсы.
 | 
				
			||||||
@@ -104,9 +104,9 @@ file
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        file:/var/www/html
 | 
					        file:/var/www/html
 | 
				
			||||||
        file:///home/jhon/cool_stuff.txt
 | 
					        file:///home/jhon/cool_stuff.txt
 | 
				
			||||||
        
 | 
					
 | 
				
			||||||
    Не используйте двойной слэш для этой схемы, используйте один или три слэша. Двойной слэш означает наличие компонента Authority, это приводит к неверной интерпретации адреса. 
 | 
					    Не используйте двойной слэш для этой схемы, используйте один или три слэша. Двойной слэш означает наличие компонента Authority, это приводит к неверной интерпретации адреса. 
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    См. также ``backup_files()``
 | 
					    См. также ``backup_files()``
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mysql
 | 
					mysql
 | 
				
			||||||
@@ -116,7 +116,7 @@ mysql
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    С помощью утилиты ``mysqldump``\(1) формируется дамп в формате SQL, файл по умолчанию сжимается утилитой ``gzip``.
 | 
					    С помощью утилиты ``mysqldump``\(1) формируется дамп в формате SQL, файл по умолчанию сжимается утилитой ``gzip``.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    См. также ``backup_mysql()`` 
 | 
					    См. также ``backup_mysql()``
 | 
				
			||||||
 | 
					
 | 
				
			||||||
postgres
 | 
					postgres
 | 
				
			||||||
    Аналогично `mysql`, но для PostgreSQL. Для создания дампа используется ``pg_dump``\(1), файлы по умолчанию сохраняются с расширением .psql.gz.
 | 
					    Аналогично `mysql`, но для PostgreSQL. Для создания дампа используется ``pg_dump``\(1), файлы по умолчанию сохраняются с расширением .psql.gz.
 | 
				
			||||||
@@ -125,7 +125,7 @@ postgres
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
sqlite
 | 
					sqlite
 | 
				
			||||||
    Схема для баз данных SQLite. Ничем не отличается от `file`, добавлена для наглядного обозначения, что источником является БД SQLite, а не иной файл.
 | 
					    Схема для баз данных SQLite. Ничем не отличается от `file`, добавлена для наглядного обозначения, что источником является БД SQLite, а не иной файл.
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    См. также ``backup_sqlite()``
 | 
					    См. также ``backup_sqlite()``
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Схемы, которые могут быть использованы как targets
 | 
					Схемы, которые могут быть использованы как targets
 | 
				
			||||||
@@ -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``. Все остальные переменные считаются "обычными".
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Обычные переменные могут быть перезаписаны в пользовательском скрипте. Защищённые переменные технически ничем от них не отличаются, однако не нужно переопределять такие переменные в пользовательском скрипте, так как это может привести к неожиданным ошибкам во время выполнения скрипта. Точно также очень внимательно нужно относится к перезаписи обычных переменных — в обоих случаях есть риск что-то поломать.
 | 
					Обычные переменные могут быть перезаписаны в пользовательском скрипте. Защищённые переменные технически ничем от них не отличаются, однако не нужно переопределять такие переменные в пользовательском скрипте, так как это может привести к неожиданным ошибкам во время выполнения скрипта. Точно также очень внимательно нужно относится к перезаписи обычных переменных — в обоих случаях есть риск что-то поломать.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -297,7 +297,7 @@ Baf условно разделяет переменные на "внутрен
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
``err [-eao] MESSAGE``
 | 
					``err [-eao] MESSAGE``
 | 
				
			||||||
    Печатает сообщение об ошибке MESSAGE на экран и в лог и выполняет обработку ошибок.
 | 
					    Печатает сообщение об ошибке MESSAGE на экран и в лог и выполняет обработку ошибок.
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    -e  Выйти из скрипта с кодом выхода 1.
 | 
					    -e  Выйти из скрипта с кодом выхода 1.
 | 
				
			||||||
    -a  Добавить сообщение MESSAGE в массив ``errors``.
 | 
					    -a  Добавить сообщение MESSAGE в массив ``errors``.
 | 
				
			||||||
    -o  Вызвать функцию ``on_error()``.
 | 
					    -o  Вызвать функцию ``on_error()``.
 | 
				
			||||||
@@ -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
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Reference in New Issue
	
	Block a user