feat: Minor changes
This commit is contained in:
parent
4832a3a751
commit
0e2f95337d
@ -21,10 +21,6 @@ __config=
|
||||
__verbose=
|
||||
__log_file='./log.txt'
|
||||
__pid_file='/tmp/boring-backup.pid'
|
||||
__errors_count=0
|
||||
__errors_file='/tmp/boring-backup.errors'
|
||||
|
||||
echo "$__errors_count" > "$__errors_file"
|
||||
|
||||
LIBRARY="${LIBRARY:-./lib}"
|
||||
|
||||
@ -34,7 +30,6 @@ if [ -f "$LIBRARY/lib.sh" ]; then
|
||||
. "$LIBRARY/lib.sh"
|
||||
else
|
||||
echo "Error: Cannot source library $LIBRARY/lib.sh: No such file" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
print_help() {
|
||||
@ -120,21 +115,27 @@ while (( "$#" )); do
|
||||
esac
|
||||
done
|
||||
|
||||
# Exit if library is not loaded
|
||||
if ! declare -F -- log > /dev/null 2>&1; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# ---------------------------------------------------------- #
|
||||
# * Do backups #
|
||||
# ---------------------------------------------------------- #
|
||||
|
||||
log "Backup STARTED"
|
||||
log -V "Backup STARTED"
|
||||
|
||||
# Check PID file
|
||||
if [ -e "$__pid_file" ]; then
|
||||
# shellcheck disable=SC2009
|
||||
# shellcheck disable=SC2143
|
||||
if [ -z "$(ps ax -o pid | grep "$(cat "$__pid_file")")" ]; then
|
||||
err "Process $(cat "$__pid_file") died."
|
||||
log -p "Process $(cat "$__pid_file") died." >&2
|
||||
rm "$__pid_file"
|
||||
else
|
||||
err -e "Process $(cat "$__pid_file") still running.";
|
||||
echo "Process $(cat "$__pid_file") still running." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -149,29 +150,30 @@ __i=1 # iterator
|
||||
date +'Start: %d %b %Y %T %z'
|
||||
log -p "Library path: $LIBRARY"
|
||||
log -p "Log file: $__log_file"
|
||||
log -p "Configuration file: $(if [ "$__config" ]; then \
|
||||
echo not specified; else echo "$__config"; fi)"
|
||||
log -p "Configuration file:" \
|
||||
"$([ "$__config" ] || echo not specified && echo "$__config")"
|
||||
log -p "Total scripts: $__count"
|
||||
log "Scripts to process (${__count}): ${__args[*]}"
|
||||
|
||||
for script in "${__args[@]}"; do
|
||||
# Initialise variables
|
||||
__user_script="$script"
|
||||
echo # Just print new line
|
||||
|
||||
# Initialise variables
|
||||
# shellcheck disable=SC2034
|
||||
backup_script="$script"
|
||||
# shellcheck disable=SC2034
|
||||
backups=() # Array of created backups, contains full pathes
|
||||
# shellcheck disable=SC2034
|
||||
errors=() # Array of error messages written by err() function
|
||||
|
||||
# Source scripts
|
||||
echo -e "\e[1m--> Script: ${script##*/} [$__i/$__count]\e[0m" | log -p
|
||||
|
||||
# Source script
|
||||
source_script "$script"
|
||||
|
||||
# Config can ovewrite script functions and variables
|
||||
# shellcheck source=/dev/null
|
||||
[ -n "$__config" ] && . "$__config"
|
||||
|
||||
echo -e "\n\e[1m--> Script: ${__args[__i-1]##*/} [$__i/$__count]\e[0m" |
|
||||
log -p
|
||||
# --- Run user script -- #
|
||||
|
||||
# Run prepare() before all if set
|
||||
if is_function_set prepare; then
|
||||
@ -204,29 +206,24 @@ for script in "${__args[@]}"; do
|
||||
unset on_error
|
||||
|
||||
# Unset user defined variables
|
||||
unset backups
|
||||
unset compression
|
||||
#unset name_prefix
|
||||
unset name_date_fmt
|
||||
#unset s3_access_key
|
||||
#unset s3_secret_key
|
||||
#unset s3_access_token
|
||||
#unset s3_endpoint
|
||||
#unset s3_region
|
||||
#unset s3cmd_config
|
||||
unset name_prefix
|
||||
unset name_date_format
|
||||
unset s3_access_key
|
||||
unset s3_secret_key
|
||||
unset s3_access_token
|
||||
unset s3_endpoint
|
||||
unset s3_region
|
||||
unset s3cmd_config
|
||||
unset tar_options
|
||||
unset tar_exclude
|
||||
unset mysqldump_options
|
||||
unset pg_dump_options
|
||||
done
|
||||
|
||||
if [[ "$(cat $__errors_file)" != '0' ]]; then
|
||||
echo
|
||||
log -p "Backup [Failed]: Process finished with $(cat $__errors_file) " \
|
||||
"errors. See $__log_file for info."
|
||||
rm "$__errors_file"
|
||||
else
|
||||
echo -e "\nBackup [Done]"
|
||||
fi
|
||||
|
||||
log "Backup FINISHED"
|
||||
log -V "Backup FINISHED"
|
||||
|
||||
# Remove PID file
|
||||
rm "$__pid_file"
|
||||
|
Loading…
Reference in New Issue
Block a user