48 lines
1.5 KiB
Bash
Executable File
48 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Helper script to run the backup with proper Python environment
|
|
|
|
# Get the script directory
|
|
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
|
|
|
|
# Default values if no arguments provided
|
|
if [ $# -eq 0 ]; then
|
|
# Define default values
|
|
DB="Inventarsystem"
|
|
URI="mongodb://localhost:27017/"
|
|
OUT="$SCRIPT_DIR/backups/$(date +%Y-%m-%d)"
|
|
|
|
echo "No arguments provided. Using defaults:"
|
|
echo " --uri $URI"
|
|
echo " --db $DB"
|
|
echo " --out $OUT"
|
|
|
|
# Create output directory if it doesn't exist
|
|
mkdir -p "$OUT"
|
|
|
|
# Set the arguments
|
|
ARGS="--uri $URI --db $DB --out $OUT"
|
|
else
|
|
# Use provided arguments
|
|
ARGS="$@"
|
|
fi
|
|
|
|
# Check if we're in a virtual environment
|
|
if [ -f "$SCRIPT_DIR/.venv/bin/python" ]; then
|
|
# Check if we have execute permissions for the virtual environment Python
|
|
if [ -x "$SCRIPT_DIR/.venv/bin/python" ]; then
|
|
# Use the virtual environment's Python
|
|
"$SCRIPT_DIR/.venv/bin/python" "$SCRIPT_DIR/Backup-DB.py" $ARGS || {
|
|
echo "Failed to execute with virtual environment Python. Trying system Python..."
|
|
python3 "$SCRIPT_DIR/Backup-DB.py" $ARGS
|
|
}
|
|
else
|
|
echo "Virtual environment found but Python is not executable. Using system Python instead."
|
|
echo "To fix virtual environment permissions, run: sudo ./rebuild-venv.sh"
|
|
python3 "$SCRIPT_DIR/Backup-DB.py" $ARGS
|
|
fi
|
|
else
|
|
# Use system Python
|
|
echo "No virtual environment found. Using system Python."
|
|
python3 "$SCRIPT_DIR/Backup-DB.py" $ARGS
|
|
fi
|