feat: Replace tar_compression with compressuion. Add tar_exclude option
This commit is contained in:
parent
c2dc7a0729
commit
9a008ad7b9
@ -105,9 +105,10 @@ backup_files() {
|
||||
local uri
|
||||
local src_path
|
||||
local dst_path
|
||||
local tar_opts
|
||||
local opts
|
||||
local archive
|
||||
local compression
|
||||
local compr
|
||||
local exclude
|
||||
local file_ext
|
||||
|
||||
uri="$1"
|
||||
@ -132,22 +133,31 @@ backup_files() {
|
||||
|
||||
# Overwrire __tar_options
|
||||
if [ -n "$tar_options" ]; then
|
||||
tar_opts="$tar_options"
|
||||
opts="$tar_options"
|
||||
else
|
||||
tar_opts="$__tar_options"
|
||||
opts="$__tar_options"
|
||||
fi
|
||||
|
||||
# Overwrite __tar_compression
|
||||
if [ "$tar_compression" ]; then
|
||||
compression="$tar_compression"
|
||||
# Overwrite __tar_exclude
|
||||
if [ "$tar_exclude" ]; then
|
||||
for item in "${tar_exclude[@]}"; do
|
||||
exclude+=" --exclude $item"
|
||||
done
|
||||
else
|
||||
compression="$__tar_compression"
|
||||
exclude=
|
||||
fi
|
||||
|
||||
# Overwrite __compression
|
||||
if [ "$compression" ]; then
|
||||
compr="$compression"
|
||||
else
|
||||
compr="$__compression"
|
||||
fi
|
||||
|
||||
# Select filename extension by compression type.
|
||||
# Make sure for the `--auto-compress` is enabled in __tar_options
|
||||
# Refference: https://www.gnu.org/software/tar/manual/html_node/gzip.html
|
||||
case "$compression" in
|
||||
case "$compr" in
|
||||
gzip|gz) file_ext='.tar.gz';; # gzip
|
||||
tgz) file_ext='.tgz';; # gzip
|
||||
taz) file_ext='.taz';; # gzip
|
||||
@ -172,13 +182,14 @@ backup_files() {
|
||||
[ "$__verbose" ] && {
|
||||
echo "Source path: $src_path"
|
||||
echo "Destination path: $dst_path"
|
||||
echo "Command: tar $tar_opts $archive $src_path"
|
||||
echo "Command: tar $exclude $opts $archive $src_path"
|
||||
}
|
||||
|
||||
log "Archiving $src_path to $archive ..."
|
||||
log "Command: tar $exclude $opts $archive $src_path"
|
||||
|
||||
# Run tar
|
||||
try tar "$tar_opts" "$archive" "$src_path"
|
||||
try tar "$exclude" "$opts" "$archive" "$src_path"
|
||||
|
||||
# Append path to 'backups' array
|
||||
backups+=("$archive")
|
||||
|
Loading…
Reference in New Issue
Block a user