#!/bin/bash # # Pack a website. # # Arguments SITES="/var/sites" SITE="$1" PACK="$1.tar.bz2" DATE="`date +%Y%m%d`" DEST="$SITES/backups/site/$SITE/$DATE" # Syntax check if [ -z "$SITE" ]; then hydra_action_usage exit 1 fi # Create folder mkdir -p $DEST cd $DEST # Password setup if [ ! -e "$SITES/backups/site/$SITE/.htpasswd" ]; then touch $SITES/backups/site/$SITE/.htpasswd chmod 640 $SITES/backups/site/$SITE/.htpasswd chown root.backups $SITES/backups/site/$SITE/.htpasswd fi # Access setup if [ ! -e "$SITES/backups/site/$SITE/.htaccess" ]; then echo > $SITES/backups/site/$SITE/.htaccess < $PACK.md5 sha1sum $PACK > $PACK.sha1 chown root.backups $PACK* chmod 640 $PACK* echo "Saved $DEST/$PACK" fi # Backup database if [ -d "/var/lib/mysql/$SITE" ]; then echo "Backing up database $SITE..." mysqldump $SITE > $SITE.sql bzip2 $SITE.sql md5sum $SITE.sql.bz2 > $SITE.sql.bz2.md5 sh1sum $SITE.sql.bz2 > $SITE.sql.bz2.sha1 chown root.backups $SITE.sql* chmod 640 $SITE.sql* echo "Saved $DEST/$SITE.sql.bz2" else echo "Database not found, please backup it manually" fi