Add update-backrest.sh
This commit is contained in:
parent
1fd83b1e41
commit
8f7b16269c
1 changed files with 60 additions and 0 deletions
60
update-backrest.sh
Normal file
60
update-backrest.sh
Normal file
|
@ -0,0 +1,60 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Exit immediately if a command exits with a non-zero status
|
||||
set -e
|
||||
|
||||
# Check for administrative privileges
|
||||
if [[ "$EUID" -ne 0 ]]; then
|
||||
echo "Error: This script must be run as root." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Detect architecture
|
||||
ARCH=$(uname -m)
|
||||
if [[ "$ARCH" == "x86_64" ]]; then
|
||||
ARCH="x86_64"
|
||||
elif [[ "$ARCH" == "aarch64" || "$ARCH" == "arm64" ]]; then
|
||||
ARCH="arm64"
|
||||
else
|
||||
echo "Unsupported architecture: $ARCH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create a temporary directory and ensure it is deleted on exit
|
||||
TMP_DIR=$(mktemp -d)
|
||||
trap "rm -rf $TMP_DIR" EXIT
|
||||
|
||||
echo "Created temporary directory: $TMP_DIR"
|
||||
|
||||
# Fetch the latest release download URL for the correct architecture
|
||||
DOWNLOAD_URL=$(curl -s https://api.github.com/repos/garethgeorge/backrest/releases/latest | \
|
||||
grep "browser_download_url.*backrest_Linux_${ARCH}.tar.gz" | \
|
||||
cut -d '"' -f 4)
|
||||
|
||||
if [[ -z "$DOWNLOAD_URL" ]]; then
|
||||
echo "Failed to get the download URL for the latest release."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Downloading from: $DOWNLOAD_URL"
|
||||
|
||||
# Download and extract the tarball
|
||||
wget -qO- "$DOWNLOAD_URL" | tar -xz -C "$TMP_DIR"
|
||||
|
||||
# Run the installer
|
||||
if [[ -f "$TMP_DIR/install.sh" ]]; then
|
||||
echo "Running install.sh..."
|
||||
bash "$TMP_DIR/install.sh"
|
||||
else
|
||||
echo "Error: install.sh not found in $TMP_DIR."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Reload systemd and restart the service
|
||||
echo "Reloading systemd daemon..."
|
||||
systemctl daemon-reload
|
||||
|
||||
echo "Restarting backrest service..."
|
||||
systemctl restart backrest
|
||||
|
||||
echo "Installation complete."
|
Loading…
Reference in a new issue