Skip to content

Instantly share code, notes, and snippets.

@R0GGER
Last active August 23, 2022 11:48
Show Gist options
  • Save R0GGER/4ed6a1effcadc073ccd1028517d0f59e to your computer and use it in GitHub Desktop.
Save R0GGER/4ed6a1effcadc073ccd1028517d0f59e to your computer and use it in GitHub Desktop.
CloudPanel.io - backup htdocs per user
#!/bin/bash
NOW=$(date '+%Y-%m-%d_%H-%M-%S')
ls /home -1 --ignore="clp" --ignore="mysql" --ignore="tmp" > /tmp/userlist.txt
for CPUSER in `more /tmp/userlist.txt`
do
BACKUPS_USER_DIRECTORY="/home/$CPUSER/backups/htdocs"
mkdir -p $BACKUPS_USER_DIRECTORY/
tar -zvcpf $BACKUPS_USER_DIRECTORY/$NOW-$CPUSER.tar.gz /home/$CPUSER/htdocs
chown -R $CPUSER:$CPUSER $BACKUPS_USER_DIRECTORY
# Backup retention = 7 days
find $BACKUPS_USER_DIRECTORY/* -mtime +7 -exec rm {} \;
done

Download Script

wget https://gist.githubusercontent.com/R0GGER/4ed6a1effcadc073ccd1028517d0f59e/raw/107b853f72ae957b730f35540f2030f8c4423ccc/backup-htdocs.sh -P /root

chmod +x /root/backup-htdocs.sh

Crontab

crontab -e 

0 3 * * * /root/backup-htdocs.sh >/dev/null 2>&1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment