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