Swap deprecated --last option with --latest 1
This commit is contained in:
@@ -22,7 +22,7 @@ COMPRESSION="auto"
|
||||
|
||||
# Function to display usage
|
||||
usage() {
|
||||
cat << EOF
|
||||
cat <<EOF
|
||||
Usage: $0 [OPTIONS] <source_path> <repository>
|
||||
|
||||
Generic backup script using Restic for any folder and repository.
|
||||
@@ -90,7 +90,7 @@ log_message() {
|
||||
fi
|
||||
|
||||
if [ -n "$LOG_FILE" ]; then
|
||||
echo "$message" >> "$LOG_FILE"
|
||||
echo "$message" >>"$LOG_FILE"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -105,15 +105,15 @@ send_healthcheck() {
|
||||
fi
|
||||
|
||||
case "$status" in
|
||||
"START")
|
||||
curl -fsS -m 10 --retry 3 "$HEALTHCHECK_URL/start" >/dev/null 2>&1 || true
|
||||
;;
|
||||
"SUCCESS")
|
||||
curl -fsS -m 10 --retry 3 --data-raw "$message" "$HEALTHCHECK_URL" >/dev/null 2>&1 || true
|
||||
;;
|
||||
"FAILED"|"WARNING")
|
||||
curl -fsS -m 10 --retry 3 --data-raw "$message" "$HEALTHCHECK_URL/fail" >/dev/null 2>&1 || true
|
||||
;;
|
||||
"START")
|
||||
curl -fsS -m 10 --retry 3 "$HEALTHCHECK_URL/start" >/dev/null 2>&1 || true
|
||||
;;
|
||||
"SUCCESS")
|
||||
curl -fsS -m 10 --retry 3 --data-raw "$message" "$HEALTHCHECK_URL" >/dev/null 2>&1 || true
|
||||
;;
|
||||
"FAILED" | "WARNING")
|
||||
curl -fsS -m 10 --retry 3 --data-raw "$message" "$HEALTHCHECK_URL/fail" >/dev/null 2>&1 || true
|
||||
;;
|
||||
esac
|
||||
|
||||
[ "$VERBOSE" = true ] && echo "Healthcheck sent: $status - $message"
|
||||
@@ -126,87 +126,87 @@ POSITIONAL_ARGS=()
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
-p|--password-file)
|
||||
RESTIC_PASSWORD_FILE="$2"
|
||||
shift 2
|
||||
;;
|
||||
-l|--log-file)
|
||||
LOG_FILE="$2"
|
||||
shift 2
|
||||
;;
|
||||
-h|--healthcheck)
|
||||
HEALTHCHECK_URL="$2"
|
||||
shift 2
|
||||
;;
|
||||
-t|--tag)
|
||||
CUSTOM_TAGS+=("$2")
|
||||
shift 2
|
||||
;;
|
||||
--tag-prefix)
|
||||
TAG_PREFIX="$2"
|
||||
shift 2
|
||||
;;
|
||||
--keep-daily)
|
||||
KEEP_DAILY="$2"
|
||||
shift 2
|
||||
;;
|
||||
--keep-weekly)
|
||||
KEEP_WEEKLY="$2"
|
||||
shift 2
|
||||
;;
|
||||
--keep-monthly)
|
||||
KEEP_MONTHLY="$2"
|
||||
shift 2
|
||||
;;
|
||||
--keep-yearly)
|
||||
KEEP_YEARLY="$2"
|
||||
shift 2
|
||||
;;
|
||||
-e|--exclude)
|
||||
EXCLUDE_PATTERNS+=("$2")
|
||||
shift 2
|
||||
;;
|
||||
--no-exclude-caches)
|
||||
EXCLUDE_CACHES=false
|
||||
shift
|
||||
;;
|
||||
--no-one-file-system)
|
||||
ONE_FILE_SYSTEM=false
|
||||
shift
|
||||
;;
|
||||
--compression)
|
||||
case "$2" in
|
||||
auto|max|off|fastest|better)
|
||||
COMPRESSION="$2"
|
||||
;;
|
||||
*)
|
||||
echo "Error: Invalid compression value '$2'. Valid values: auto, max, off, fastest, better"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift 2
|
||||
;;
|
||||
--dry-run)
|
||||
DRY_RUN=true
|
||||
shift
|
||||
;;
|
||||
-v|--verbose)
|
||||
VERBOSE=true
|
||||
shift
|
||||
;;
|
||||
--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
-*)
|
||||
echo "Unknown option $1"
|
||||
usage
|
||||
exit 1
|
||||
-p | --password-file)
|
||||
RESTIC_PASSWORD_FILE="$2"
|
||||
shift 2
|
||||
;;
|
||||
-l | --log-file)
|
||||
LOG_FILE="$2"
|
||||
shift 2
|
||||
;;
|
||||
-h | --healthcheck)
|
||||
HEALTHCHECK_URL="$2"
|
||||
shift 2
|
||||
;;
|
||||
-t | --tag)
|
||||
CUSTOM_TAGS+=("$2")
|
||||
shift 2
|
||||
;;
|
||||
--tag-prefix)
|
||||
TAG_PREFIX="$2"
|
||||
shift 2
|
||||
;;
|
||||
--keep-daily)
|
||||
KEEP_DAILY="$2"
|
||||
shift 2
|
||||
;;
|
||||
--keep-weekly)
|
||||
KEEP_WEEKLY="$2"
|
||||
shift 2
|
||||
;;
|
||||
--keep-monthly)
|
||||
KEEP_MONTHLY="$2"
|
||||
shift 2
|
||||
;;
|
||||
--keep-yearly)
|
||||
KEEP_YEARLY="$2"
|
||||
shift 2
|
||||
;;
|
||||
-e | --exclude)
|
||||
EXCLUDE_PATTERNS+=("$2")
|
||||
shift 2
|
||||
;;
|
||||
--no-exclude-caches)
|
||||
EXCLUDE_CACHES=false
|
||||
shift
|
||||
;;
|
||||
--no-one-file-system)
|
||||
ONE_FILE_SYSTEM=false
|
||||
shift
|
||||
;;
|
||||
--compression)
|
||||
case "$2" in
|
||||
auto | max | off | fastest | better)
|
||||
COMPRESSION="$2"
|
||||
;;
|
||||
*)
|
||||
POSITIONAL_ARGS+=("$1")
|
||||
shift
|
||||
echo "Error: Invalid compression value '$2'. Valid values: auto, max, off, fastest, better"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift 2
|
||||
;;
|
||||
--dry-run)
|
||||
DRY_RUN=true
|
||||
shift
|
||||
;;
|
||||
-v | --verbose)
|
||||
VERBOSE=true
|
||||
shift
|
||||
;;
|
||||
--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
-*)
|
||||
echo "Unknown option $1"
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
POSITIONAL_ARGS+=("$1")
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
@@ -294,7 +294,7 @@ send_healthcheck "START" "Starting backup of $BACKUP_NAME"
|
||||
# Pre-backup: Check repository connectivity
|
||||
log_message "Checking repository connectivity..."
|
||||
CONNECTIVITY_OUTPUT=""
|
||||
if ! CONNECTIVITY_OUTPUT=$(eval "$RESTIC_CMD snapshots --last" 2>&1); then
|
||||
if ! CONNECTIVITY_OUTPUT=$(eval "$RESTIC_CMD snapshots --latest 1" 2>&1); then
|
||||
log_message "WARNING: Could not connect to repository or no snapshots exist yet"
|
||||
if [ "$VERBOSE" = true ]; then
|
||||
log_message "Connectivity check output: $CONNECTIVITY_OUTPUT"
|
||||
|
||||
Reference in New Issue
Block a user