feat: add deb, pkgbuild, completion, code improvements
This commit is contained in:
		
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,5 +1,4 @@
 | 
				
			|||||||
*.txt
 | 
					*.txt
 | 
				
			||||||
dist/
 | 
					dist/
 | 
				
			||||||
src/backups/
 | 
					debian/
 | 
				
			||||||
src/clean
 | 
					 | 
				
			||||||
NOTE.todo
 | 
					NOTE.todo
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,5 @@
 | 
				
			|||||||
 | 
					boring_backup (0.1.0) testing; urgency=medium
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CHANGELOG
 | 
					CHANGELOG
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    All notable changes to this project will be documented in this file.
 | 
					    All notable changes to this project will be documented in this file.
 | 
				
			||||||
@@ -6,3 +8,5 @@ CHANGELOG
 | 
				
			|||||||
0.1.0
 | 
					0.1.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Initial release.
 | 
					    Initial release.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ge Sun, 09 Oct 2022 02:17:10 +0300
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										23
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								Makefile
									
									
									
									
									
								
							@@ -5,7 +5,7 @@ BUILD_DIR 	:= ./dist
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
.PHONY: help tests manpages install uninstall fixpath
 | 
					.PHONY: help tests manpages install uninstall fixpath
 | 
				
			||||||
 | 
					
 | 
				
			||||||
all: manpages
 | 
					all: help
 | 
				
			||||||
 | 
					
 | 
				
			||||||
help:
 | 
					help:
 | 
				
			||||||
	@echo 'Usage:  make TARGET'
 | 
						@echo 'Usage:  make TARGET'
 | 
				
			||||||
@@ -55,7 +55,7 @@ html: manpages
 | 
				
			|||||||
		> $(BUILD_DIR)/share/doc/boring_backup/boring_backup.1.html 2>/dev/null
 | 
							> $(BUILD_DIR)/share/doc/boring_backup/boring_backup.1.html 2>/dev/null
 | 
				
			||||||
	rm -v grohtml-*.png
 | 
						rm -v grohtml-*.png
 | 
				
			||||||
 | 
					
 | 
				
			||||||
install: manpages
 | 
					install: html
 | 
				
			||||||
	@echo prefix: $$prefix
 | 
						@echo prefix: $$prefix
 | 
				
			||||||
	install -Dm755 $(SRC_DIR)/boring_backup $$prefix/bin/boring_backup
 | 
						install -Dm755 $(SRC_DIR)/boring_backup $$prefix/bin/boring_backup
 | 
				
			||||||
	install -Dm644 $(SRC_DIR)/lib/lib.sh $$prefix/share/boring_backup/lib.sh
 | 
						install -Dm644 $(SRC_DIR)/lib/lib.sh $$prefix/share/boring_backup/lib.sh
 | 
				
			||||||
@@ -71,7 +71,11 @@ install: manpages
 | 
				
			|||||||
	sed -e "s%LIBRARY=\"\$${LIBRARY:-.\/lib}\"%LIBRARY=\"\$${LIBRARY:-$$prefix\/share\/boring_backup}\"%" \
 | 
						sed -e "s%LIBRARY=\"\$${LIBRARY:-.\/lib}\"%LIBRARY=\"\$${LIBRARY:-$$prefix\/share\/boring_backup}\"%" \
 | 
				
			||||||
		-i $$prefix/share/boring_backup/lib.sh \
 | 
							-i $$prefix/share/boring_backup/lib.sh \
 | 
				
			||||||
		-i $$prefix/bin/boring_backup
 | 
							-i $$prefix/bin/boring_backup
 | 
				
			||||||
 | 
						sed -e "s%log_file=\"\$${log_file:-.\/log.txt}\"%log_file=\"\$${log_file:-\/var\/log\/boring_backup.log}\"%g" \
 | 
				
			||||||
 | 
							-i $$prefix/bin/boring_backup
 | 
				
			||||||
 | 
						install -Dm664 $(SRC_DIR)/completion $$prefix/share/bash-completion/completions/boring_backup
 | 
				
			||||||
	install -Dm664 $(BUILD_DIR)/share/man/ru/man1/boring_backup.1.gz $$prefix/share/man/ru/man1/boring_backup.1.gz
 | 
						install -Dm664 $(BUILD_DIR)/share/man/ru/man1/boring_backup.1.gz $$prefix/share/man/ru/man1/boring_backup.1.gz
 | 
				
			||||||
 | 
						install -Dm644 $(BUILD_DIR)/share/doc/boring_backup/boring_backup.1.html $$prefix/share/doc/boring_backup/boring_backup.1.html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
uninstall:
 | 
					uninstall:
 | 
				
			||||||
	@echo prefix: $$prefix
 | 
						@echo prefix: $$prefix
 | 
				
			||||||
@@ -88,11 +92,24 @@ uninstall:
 | 
				
			|||||||
	rm $$prefix/share/boring_backup/handlers/targets/s3cmd.sh
 | 
						rm $$prefix/share/boring_backup/handlers/targets/s3cmd.sh
 | 
				
			||||||
	rm -rv $$prefix/share/boring_backup
 | 
						rm -rv $$prefix/share/boring_backup
 | 
				
			||||||
	rm $$prefix/share/man/ru/man1/boring_backup.1.gz
 | 
						rm $$prefix/share/man/ru/man1/boring_backup.1.gz
 | 
				
			||||||
 | 
						rm $$prefix/share/doc/boring_backup/boring_backup.1.html
 | 
				
			||||||
 | 
						rm $$prefix/share/bash-completion/completions/boring_backup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fixpath:
 | 
					fixpath:
 | 
				
			||||||
	# Set boring_backup library path
 | 
						# Set boring_backup library path
 | 
				
			||||||
	@echo prefix: $$prefix
 | 
						@echo prefix: $$prefix
 | 
				
			||||||
	@echo path: $$path
 | 
						@echo path: $$path
 | 
				
			||||||
	sed -e "s%LIBRARY=\"\$${LIBRARY:-.\/lib}\"%LIBRARY=\"\$${LIBRARY:-$$path}\"%" \
 | 
						sed -e "s%LIBRARY=\"\$${LIBRARY:-$$prefix\/share\/boring_backup}\"%LIBRARY=\"\$${LIBRARY:-$$path}\"%" \
 | 
				
			||||||
		-i $$prefix/share/boring_backup/lib.sh \
 | 
							-i $$prefix/share/boring_backup/lib.sh \
 | 
				
			||||||
		-i $$prefix/bin/boring_backup
 | 
							-i $$prefix/bin/boring_backup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					deb:
 | 
				
			||||||
 | 
						test -d $(BUILD_DIR) && rm -rf $(BUILD_DIR) || true
 | 
				
			||||||
 | 
						make prefix=$(BUILD_DIR)/usr install
 | 
				
			||||||
 | 
						make prefix=$(BUILD_DIR)/usr path=/usr/share/boring_backup fixpath
 | 
				
			||||||
 | 
						install -Dm644 control $(BUILD_DIR)/DEBIAN/control
 | 
				
			||||||
 | 
						install -Dm644 copyright $(BUILD_DIR)/DEBIAN/copyright
 | 
				
			||||||
 | 
						install -Dm644 CHANGELOG $(BUILD_DIR)/DEBIAN/changelog
 | 
				
			||||||
 | 
						rm -rfv $(BUILD_DIR)/share
 | 
				
			||||||
 | 
						mkdir -p debian
 | 
				
			||||||
 | 
						version=$$(src/boring_backup -V) && dpkg-deb --build $(BUILD_DIR) debian/boring-backup_$$version.deb
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										25
									
								
								PKGBUILD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								PKGBUILD
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					pkgname=boring-backup
 | 
				
			||||||
 | 
					pkgver=0.1.0
 | 
				
			||||||
 | 
					pkgrel=1
 | 
				
			||||||
 | 
					pkgdesc="Files and databases backup"
 | 
				
			||||||
 | 
					arch=(any)
 | 
				
			||||||
 | 
					url=https://git.nxhs.cloud/ge/boring_backup
 | 
				
			||||||
 | 
					license=(GPL3)
 | 
				
			||||||
 | 
					depends=(bash coreutils)
 | 
				
			||||||
 | 
					makedepends=(git make )
 | 
				
			||||||
 | 
					provides=('boring_backup')
 | 
				
			||||||
 | 
					conflicts=('boring_backup')
 | 
				
			||||||
 | 
					source=('git+https://git.nxhs.cloud/ge/boring_backup')
 | 
				
			||||||
 | 
					sha256sums=(SKIP)
 | 
				
			||||||
 | 
					build() {
 | 
				
			||||||
 | 
					    cd "$srcdir/$pkgname"
 | 
				
			||||||
 | 
					    make prefix=dist/usr install
 | 
				
			||||||
 | 
					    make prefix=dist/usr path=/usr/share/boring_backup fixpath
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					package() {
 | 
				
			||||||
 | 
					    install -Dm755 dist/usr/bin/boring_backup $pkgdir/usr/bin/boring_backup
 | 
				
			||||||
 | 
					    install -Dm644 dist/usr/share/man/ru/man1/boring_backup.1.gz $pkgdir/usr/share/man/ru/man1/boring_backup.1.gz
 | 
				
			||||||
 | 
					    install -Dm644 dist/usr/share/bash-completion/completions/boring_backup $pkgdir/usr/share/bash-completion/completions/boring_backup
 | 
				
			||||||
 | 
					    install -Dm644 dist/usr/share/doc/boring_backup/boring_backup.1.html $pkgdir/usr/share/doc/boring_backup/boring_backup.1.html
 | 
				
			||||||
 | 
					    install -Dm644 dist/usr/share/boring_backup/* $pkgdir/usr/share/boring_backup
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										9
									
								
								control
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								control
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					Package: boring-backup
 | 
				
			||||||
 | 
					Version: 0.1.0
 | 
				
			||||||
 | 
					Section: admin
 | 
				
			||||||
 | 
					Priority: optional
 | 
				
			||||||
 | 
					Maintainer: ge
 | 
				
			||||||
 | 
					Homepage: https://nixhacks.net/boring_backup/
 | 
				
			||||||
 | 
					Architecture: all
 | 
				
			||||||
 | 
					Depends: bash, coreutils
 | 
				
			||||||
 | 
					Description: Backup files and databases.
 | 
				
			||||||
							
								
								
									
										38
									
								
								copyright
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								copyright
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 | 
				
			||||||
 | 
					Upstream-Name: boring-backup
 | 
				
			||||||
 | 
					Upstream-Contact: https://nixhacks.net/boring_backup
 | 
				
			||||||
 | 
					Source: https://nixhacks.net/boring_backup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Files: *
 | 
				
			||||||
 | 
					Copyright: 2022 ge
 | 
				
			||||||
 | 
					License: GPL-3.0+
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Files: debian/*
 | 
				
			||||||
 | 
					Copyright: 2022 ge
 | 
				
			||||||
 | 
					License: GPL-3.0+
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					License: GPL-3.0+
 | 
				
			||||||
 | 
					 This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 | 
					 it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					 the Free Software Foundation, either version 3 of the License, or
 | 
				
			||||||
 | 
					 (at your option) any later version.
 | 
				
			||||||
 | 
					 .
 | 
				
			||||||
 | 
					 This package is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					 but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					 GNU General Public License for more details.
 | 
				
			||||||
 | 
					 .
 | 
				
			||||||
 | 
					 You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					 along with this program. If not, see <https://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					 .
 | 
				
			||||||
 | 
					 On Debian systems, the complete text of the GNU General
 | 
				
			||||||
 | 
					 Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Please also look if there are files or directories which have a
 | 
				
			||||||
 | 
					# different copyright/license attached and list them here.
 | 
				
			||||||
 | 
					# Please avoid picking licenses with terms that are more restrictive than the
 | 
				
			||||||
 | 
					# packaged work, as it may make Debian's contributions unacceptable upstream.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# If you need, there are some extra license texts available in two places:
 | 
				
			||||||
 | 
					#   /usr/share/debhelper/dh_make/licenses/
 | 
				
			||||||
 | 
					#   /usr/share/common-licenses/
 | 
				
			||||||
@@ -131,11 +131,11 @@ postgres
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    См. также ``src_pg_dump``
 | 
					    См. также ``src_pg_dump``
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sqlite [НЕ РЕАЛИЗОВАН]
 | 
					sqlite
 | 
				
			||||||
    Схема для баз данных SQLite. Мало отличается от `file`, добавлена для
 | 
					    Схема для баз данных SQLite. То же самое что и `file`, добавлена для
 | 
				
			||||||
    наглядного обозначения, что ресурсом является БД SQLite, а не иной файл.
 | 
					    наглядного обозначения, что ресурсом является БД SQLite, а не иной файл.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    См. также ``src_sqlite``
 | 
					    См. также ``src_tar``
 | 
				
			||||||
 | 
					
 | 
				
			||||||
s3
 | 
					s3
 | 
				
			||||||
    Схема Simple Storage Service (S3). Пример использования::
 | 
					    Схема Simple Storage Service (S3). Пример использования::
 | 
				
			||||||
@@ -247,12 +247,25 @@ s3
 | 
				
			|||||||
    tzst                 zstd       .zst                .tzst
 | 
					    tzst                 zstd       .zst                .tzst
 | 
				
			||||||
    ==================== ========== =================== =====================
 | 
					    ==================== ========== =================== =====================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					``log_file``
 | 
				
			||||||
 | 
					    | Тип: строка
 | 
				
			||||||
 | 
					    | Умолчание: /var/log/boring_backup.log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Лог файл.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
``log_date_format``
 | 
					``log_date_format``
 | 
				
			||||||
    | Тип: строка
 | 
					    | Тип: строка
 | 
				
			||||||
    | Умолчание: %d/%b/%Y:%H:%M:%S %z
 | 
					    | Умолчание: %d/%b/%Y:%H:%M:%S %z
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Формат даты в логе. См. ``date``. См. **КОНФИГУРИРОВАНИЕ**.
 | 
					    Формат даты в логе. См. ``date``. См. **КОНФИГУРИРОВАНИЕ**.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					``make_target_dir``
 | 
				
			||||||
 | 
					    | Тип: булев
 | 
				
			||||||
 | 
					    | Умолчение: нет
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Эта переменная используется как флаг разрешающий создание директорий из
 | 
				
			||||||
 | 
					    `targets` с помощью **mkdir -p**.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
``name``
 | 
					``name``
 | 
				
			||||||
    | Тип: строка
 | 
					    | Тип: строка
 | 
				
			||||||
    | Умолчание: нет
 | 
					    | Умолчание: нет
 | 
				
			||||||
@@ -419,7 +432,7 @@ s3
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Функция записывает сообщения в лог-файл. Лог-файл может быть задан через
 | 
					    Функция записывает сообщения в лог-файл. Лог-файл может быть задан через
 | 
				
			||||||
    опцию **--log-file**, имя этого файла будет сохранено в переменную
 | 
					    опцию **--log-file**, имя этого файла будет сохранено в переменную
 | 
				
			||||||
    $__log_file. **log** перед записью в файл удаляет из текста
 | 
					    $log_file. **log** перед записью в файл удаляет из текста
 | 
				
			||||||
    escape-последовательности ANSI.
 | 
					    escape-последовательности ANSI.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Формат лога '[%s] %s\\n', где первое вхождение %s заменяется на дату, а
 | 
					    Формат лога '[%s] %s\\n', где первое вхождение %s заменяется на дату, а
 | 
				
			||||||
@@ -574,7 +587,6 @@ s3
 | 
				
			|||||||
удалением локальных бэкапов после загрузки::
 | 
					удалением локальных бэкапов после загрузки::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    compression=xz
 | 
					    compression=xz
 | 
				
			||||||
    s3cmd_config=~/.s3cfg
 | 
					 | 
				
			||||||
    sources=(
 | 
					    sources=(
 | 
				
			||||||
        /var/www/www-data/example.com
 | 
					        /var/www/www-data/example.com
 | 
				
			||||||
        mysql://example_user:Smk3mVH2@localhost/example_db
 | 
					        mysql://example_user:Smk3mVH2@localhost/example_db
 | 
				
			||||||
@@ -586,7 +598,7 @@ s3
 | 
				
			|||||||
    finalise() {
 | 
					    finalise() {
 | 
				
			||||||
        log -p "\tClean up local backups"
 | 
					        log -p "\tClean up local backups"
 | 
				
			||||||
        log -p "\tFiles to delete: ${backups[@]}"
 | 
					        log -p "\tFiles to delete: ${backups[@]}"
 | 
				
			||||||
        rm -- "${backups[@]}"
 | 
					        rm -rfv -- "${backups[@]}"
 | 
				
			||||||
        log -p "\tLocal backups deleted"
 | 
					        log -p "\tLocal backups deleted"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								src/completely.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								src/completely.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					# See https://github.com/DannyBen/completely
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					boring_backup:
 | 
				
			||||||
 | 
					  - --help
 | 
				
			||||||
 | 
					  - --version
 | 
				
			||||||
 | 
					  - --verbose
 | 
				
			||||||
 | 
					  - --config
 | 
				
			||||||
 | 
					  - --log-file
 | 
				
			||||||
 | 
					  - --pid-file
 | 
				
			||||||
 | 
					  - --use-syslog
 | 
				
			||||||
 | 
					  - <file>
 | 
				
			||||||
							
								
								
									
										39
									
								
								src/completion
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								src/completion
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					# boring_backup completion                                 -*- shell-script -*-
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# This bash completions script was generated by
 | 
				
			||||||
 | 
					# completely (https://github.com/dannyben/completely)
 | 
				
			||||||
 | 
					# Modifying it manually is not recommended
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_boring_backup_completions_filter() {
 | 
				
			||||||
 | 
					  local words="$1"
 | 
				
			||||||
 | 
					  local cur=${COMP_WORDS[COMP_CWORD]}
 | 
				
			||||||
 | 
					  local result=()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if [[ "${cur:0:1}" == "-" ]]; then
 | 
				
			||||||
 | 
					    echo "$words"
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    for word in $words; do
 | 
				
			||||||
 | 
					      [[ "${word:0:1}" != "-" ]] && result+=("$word")
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo "${result[*]}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_boring_backup_completions() {
 | 
				
			||||||
 | 
					  local cur=${COMP_WORDS[COMP_CWORD]}
 | 
				
			||||||
 | 
					  local compwords=("${COMP_WORDS[@]:1:$COMP_CWORD-1}")
 | 
				
			||||||
 | 
					  local compline="${compwords[*]}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  case "$compline" in
 | 
				
			||||||
 | 
					    *)
 | 
				
			||||||
 | 
					      while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -W "$(_boring_backup_completions_filter "--help --version --verbose --config --log-file --pid-file --use-syslog")" -- "$cur" )
 | 
				
			||||||
 | 
					      ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  esac
 | 
				
			||||||
 | 
					} &&
 | 
				
			||||||
 | 
					complete -F _boring_backup_completions boring_backup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ex: filetype=sh
 | 
				
			||||||
@@ -35,7 +35,7 @@ process_source() {
 | 
				
			|||||||
        # ^^^ hide password from output ^^^
 | 
					        # ^^^ hide password from output ^^^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    case "$scheme" in
 | 
					    case "$scheme" in
 | 
				
			||||||
        file)           handler='src_tar';;
 | 
					        file|sqlite)    handler='src_tar';;
 | 
				
			||||||
        mysql|mariadb)  handler='src_mysqldump';;
 | 
					        mysql|mariadb)  handler='src_mysqldump';;
 | 
				
			||||||
        postgres)       handler='src_pg_dump';;
 | 
					        postgres)       handler='src_pg_dump';;
 | 
				
			||||||
        sqlite)         handler='src_sqlite';;
 | 
					        sqlite)         handler='src_sqlite';;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,7 +36,7 @@ src_tar() {
 | 
				
			|||||||
    parse_uri "$uri"
 | 
					    parse_uri "$uri"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # shellcheck disable=SC2154
 | 
					    # shellcheck disable=SC2154
 | 
				
			||||||
    if [[ "$scheme" != 'file' ]]; then
 | 
					    if [[ ! "$scheme" =~ ^(file|sqlite)$ ]]; then
 | 
				
			||||||
        log -p "Error: Wrong URI scheme: $scheme" >&2; exit 1
 | 
					        log -p "Error: Wrong URI scheme: $scheme" >&2; exit 1
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user