add remove backups function befor creating a new one
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://git.bila.li/Proxmox/proxmox-ve-install-scripts/raw/branch/dev/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: [YourUserName]
|
||||
# Author: BiluliB
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: [SOURCE_URL]
|
||||
|
||||
@ -25,21 +25,21 @@ function update_script() {
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
|
||||
# Check if installation is present | -f for file, -d for folder
|
||||
if [[ ! -f /opt/huntarr/huntarr ]]; then
|
||||
# Check for Python app with hardcoded path
|
||||
if [[ ! -f /opt/huntarr/main.py ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Crawling the new version and checking whether an update is required
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/plexguide/Huntarr.io/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')
|
||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||
if [[ "${RELEASE}" != "$(cat /opt/huntarr_version.txt 2>/dev/null)" ]] || [[ ! -f /opt/huntarr_version.txt ]]; then
|
||||
# Stopping Services
|
||||
msg_info "Stopping $APP"
|
||||
systemctl stop huntarr
|
||||
msg_ok "Stopped $APP"
|
||||
|
||||
# Creating Backup
|
||||
# Creating Backup - maintain only one backup file
|
||||
msg_info "Creating Backup"
|
||||
# Remove any existing backups
|
||||
if ls /opt/${APP}_backup_*.tar.gz &>/dev/null; then
|
||||
@ -50,11 +50,15 @@ function update_script() {
|
||||
tar -czf "/opt/${APP}_backup_$(date +%F).tar.gz" /opt/huntarr
|
||||
msg_ok "Backup Created"
|
||||
|
||||
# Execute Update
|
||||
# Execute Update for Python app
|
||||
msg_info "Updating $APP to v${RELEASE}"
|
||||
curl -fsSL -o "/opt/huntarr/huntarr_${RELEASE}_linux_amd64.tar.gz" "https://github.com/plexguide/Huntarr.io/releases/download/${RELEASE}/huntarr_${RELEASE}_linux_amd64.tar.gz"
|
||||
tar -xzf "/opt/huntarr/huntarr_${RELEASE}_linux_amd64.tar.gz" -C /opt/huntarr
|
||||
chmod +x /opt/huntarr/huntarr
|
||||
curl -fsSL -o "/opt/huntarr/${RELEASE}.zip" "https://github.com/plexguide/Huntarr.io/archive/refs/tags/${RELEASE}.zip"
|
||||
unzip -q -o "/opt/huntarr/${RELEASE}.zip" -d /tmp
|
||||
cp -rf "/tmp/Huntarr.io-${RELEASE}"/* /opt/huntarr/
|
||||
|
||||
# Update Python dependencies
|
||||
cd /opt/huntarr || exit
|
||||
/opt/huntarr/venv/bin/pip install -r requirements.txt
|
||||
msg_ok "Updated $APP to v${RELEASE}"
|
||||
|
||||
# Starting Services
|
||||
@ -64,11 +68,12 @@ function update_script() {
|
||||
|
||||
# Cleaning up
|
||||
msg_info "Cleaning Up"
|
||||
rm -f /opt/huntarr/huntarr_"${RELEASE}"_linux_amd64.tar.gz
|
||||
rm -f "/opt/huntarr/${RELEASE}.zip"
|
||||
rm -rf "/tmp/Huntarr.io-${RELEASE}"
|
||||
msg_ok "Cleanup Completed"
|
||||
|
||||
# Last Action
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
echo "${RELEASE}" >/opt/huntarr_version.txt
|
||||
msg_ok "Update Successful"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||
|
||||
Reference in New Issue
Block a user