Fix shenanigans with backup linux tests

This commit is contained in:
Théophile Diot 2024-04-05 14:59:47 +01:00
parent c034aa6e6c
commit f2ca9a7873
No known key found for this signature in database
GPG key ID: 248FEA4BAE400D06
2 changed files with 13 additions and 8 deletions

View file

@ -1,12 +1,13 @@
from datetime import datetime
from os import getenv
from os import getenv, sep
from pathlib import Path
from subprocess import PIPE, Popen
from time import sleep
from traceback import format_exc
from typing import List, Tuple, Union
try:
use_backup = getenv("USE_BACKUP", "no") == "yes"
use_backup = getenv("USE_BACKUP", "yes") == "yes"
backup_dir = getenv("BACKUP_DIRECTORY", "/var/lib/bunkerweb/backups")
backup_rotation = int(getenv("BACKUP_ROTATION", "7"))
@ -49,6 +50,7 @@ try:
if result[0] != 0:
print(f"❌ Backup failed:\nstdout={result[1]}\nstderr={result[2]}", flush=True)
exit(1)
sleep(1)
print(" Checking backup directory ...", flush=True)
@ -91,11 +93,13 @@ try:
print("❌ An error occurred when restarting BunkerWeb, exiting ...", flush=True)
exit(1)
sleep(3)
ready = False
healthy_path = Path(sep, "var", "tmp", "bunkerweb", "scheduler.healthy")
while not ready and (datetime.now() - current_time).seconds < 60:
print("⏳ Waiting for BunkerWeb to be ready, retrying in 1s ...", flush=True)
exit_code, stdout, stderr = exec_command(["sudo", "grep", "BunkerWeb is ready", "/var/log/bunkerweb/error.log"])
if exit_code == 0:
if healthy_path.is_file():
ready = True
sleep(1)

View file

@ -73,8 +73,8 @@ cleanup_stack () {
unset DATABASE_URI
unset USE_BACKUP
unset BACKUP_DIRECTORY
unset BACKUP_SCHEDULE
unset BACKUP_ROTATION
sudo rm -rf /var/lib/bunkerweb/*
fi
if [[ $end -eq 1 && $exit_code = 0 ]] ; then
return
@ -103,8 +103,9 @@ cleanup_stack () {
fi
fi
else
sudo systemctl stop bunkerweb
sudo truncate -s 0 /var/log/bunkerweb/error.log
sudo rm -rf /var/lib/bunkerweb/*
sudo systemctl stop bunkerweb
fi
# shellcheck disable=SC2181
@ -267,8 +268,8 @@ do
find . -type f -name 'docker-compose.*' -exec sed -i 's@BACKUP_ROTATION: ".*"$@BACKUP_ROTATION: "2"@' {} \;
else
sudo sed -i 's@USE_BACKUP=no@USE_BACKUP=yes@' /etc/bunkerweb/variables.env
sudo sed -i 's@BACKUP_DIRECTORY=/var/lib/bunkerweb/backups@BACKUP_DIRECTORY=/var/lib/bunkerweb/tmp_backups@' /etc/bunkerweb/variables.env
sudo sed -i 's@BACKUP_ROTATION=7@BACKUP_ROTATION=2@' /etc/bunkerweb/variables.env
sudo sed -i 's@BACKUP_DIRECTORY=.*$@BACKUP_DIRECTORY=/var/lib/bunkerweb/tmp_backups@' /etc/bunkerweb/variables.env
sudo sed -i 's@BACKUP_ROTATION=.*$@BACKUP_ROTATION=2@' /etc/bunkerweb/variables.env
unset USE_BACKUP
export BACKUP_DIRECTORY="/var/lib/bunkerweb/tmp_backups"
export BACKUP_ROTATION="2"