HEX
Server: LiteSpeed
System: Linux host.point2pointhosting.com 3.10.0-962.3.2.lve1.5.81.el7.x86_64 #1 SMP Wed May 31 10:36:47 UTC 2023 x86_64
User: nolabhpoint2p (1291)
PHP: 8.4.15
Disabled: NONE
Upload Files
File: //opt/backup_script.sh
#!/bin/bash

# Check disk usage
DISK_USAGE=$(df -h / | awk 'NR==2{print $5}' | sed 's/%//')
if [ "$DISK_USAGE" -gt "90" ]; then
    echo "Disk usage is above 70%. Backup script will not run."
    exit 1
fi

# Remove previous day's backup
yesterday=$(date -d "yesterday" '+%Y%m%d')
rm -f "$backupdir/daily/backup$yesterday.tgz"

# Set log file names
LOG_FILE="/tmp/mysql-bakp.log"
REPORT_FILE="/tmp/mysql-bakpreport.txt"
DETAIL_FILE="/tmp/mysql-bakpdetail.txt"
BACKUP_REPORT="/tmp/backup_report.txt"

# Clear log files
> "$LOG_FILE"
> "$REPORT_FILE"
> "$DETAIL_FILE"
> "$BACKUP_REPORT"

# Set date variables
date=$(date "+%Y%m%d")
DOW=$(date "+%A")
DNOW=$(date "+%u")
DOM=$(date "+%d")

# Set backup directory
BACKUPDIR="/home/DBBACKUPS"
backupdir="/home/DBBACKUPS"
MYSQL_VAR_D="/var/lib/mysql"

# Check directories
if [ ! -e "$BACKUPDIR/daily" ]; then
    mkdir -p "$BACKUPDIR/daily"
fi

# Daily backup
find "$backupdir/daily/*" -maxdepth 0 -type f -mtime +15 -exec rm -rf {} \; # Delete backups older than 1 week

mkdir -p "$backupdir/daily/backup$date"
mkdir -p "$backupdir/daily/backup$date/sql"

for i in $(mysql -e "show databases" | awk '{print $1}' | grep -v Database); do
    mysqldump "$i" > "$backupdir/daily/backup$date/sql/$i.sql"
done

SUBJECT="Daily Backup Report : $date"
ls -al "$backupdir/daily/backup$date/sql/" | awk -v size="0" '$5 == size {print $5" "$9}' | sort -t' ' -k1,1nr > "$REPORT_FILE"
ls -al "$backupdir/daily/backup$date/sql/" | grep .sql | awk '{print $5, $9}' > "$DETAIL_FILE"
tar -zcf "$backupdir/daily/backup$date.tgz" "$backupdir/daily/backup$date"
rm -rf "$backupdir/daily/backup$date"

exit 0