HEX
Server: nginx/1.29.3
System: Linux 11979.bigscoots-wpo.com 6.8.0-88-generic #89-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 11 01:02:46 UTC 2025 x86_64
User: nginx (1068)
PHP: 7.4.33
Disabled: exec,system,passthru,shell_exec,proc_open,proc_close,popen,show_source,cmd# Do not modify this line # 1684243876
Upload Files
File: //bigscoots/wpo/backups/prune_old_backups.sh
#!/bin/bash

# Set lock file path
WPOUSERPATH=$(pwd)
LOCKFILE="$WPOUSERPATH/.cleanup.lock"

# Check if lock file exists
if [ -e "$LOCKFILE" ]; then
    echo "Lock file exists. Another instance of the script may be running."
    exit 1
else
    # Create lock file
    touch "$LOCKFILE"
fi

# Function to remove lock file
cleanup() {
    rm -f "$LOCKFILE"
}

# Trap to call cleanup function on exit
trap cleanup EXIT

# Set cleanup parameters
KEEPAUTO=30
KEEPMAN=5
HOWMANYAUTO=$(ls -1 --color=no |grep back- | wc -l)
HOWMANYMAN=$(ls -1 --color=no |grep manual- | wc -l)

mkdir -p empty

if [ "$HOWMANYAUTO" -gt $KEEPAUTO ]; then
    for i in $(ls -1 --color=no | grep back- | sort -n | head -$((HOWMANYAUTO-KEEPAUTO))); do
                rsync -rd --delete empty/ "$i"/
        rm -rf "$i"
        END=$(date +%s.%N)
        DIFF=$(echo "$END - $START" | bc)
        echo "Removed $i in $DIFF seconds." >> "$WPOUSERPATH/cleanup.log"
    done
fi

if [ "$HOWMANYMAN" -gt $KEEPMAN ]; then
    for i in $(ls -1 --color=no | grep manual- | sort -n | head -$((HOWMANYMAN-KEEPMAN))); do
        START=$(date +%s.%N)
                rsync -rd --delete empty/ "$i"/
        rm -rf "$i"
        END=$(date +%s.%N)
        DIFF=$(echo "$END - $START" | bc)
        echo "Removed $i in $DIFF seconds." >> "$WPOUSERPATH/cleanup.log"
    done
fi