Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # usage: ./backup.sh domain.com
- #Config
- BACKUPPATH="/home/backup"; # store backups here
- HOSTPATH="/home"; # path where hosted domains are
- # set database settings.
- DBUSER="root"
- DBPASS="2308f6431f3d7c4dd"
- DBHOST="localhost"
- DBNAME="dgt_helpdesk"
- backupcodeanddatabase () {
- local _N _U _P _H FS FT TD WP;
- FT=`date +$3/$2-%Y-%m-%d.tar.gz`;
- FS=`date +$3/$2-%Y-%m-%d.sql`;
- TD=$1/$2;
- WP=$TD/wp-config.php;
- ( cd $TD || {
- echo "bad $TD" && return 2
- };
- if [ -f $WP ]; then
- eval $(sed -n "s/^d[^D]*DB_\([NUPH]\)[ASO].*',[^']*'\([^']*\)'.*/_\1='\2'/p" $WP);
- mysqldump -u$_U -p$_P -h$_H $_N > $FS;
- else
- _N=$DBNAME
- _U=$DBUSER
- _P=$DBPASS
- _H=$DBHOST
- mysqldump -u$_U -p$_P -h$_H $_N > $FS;
- fi
- tar -czPf $FT $TD )
- }
- dobackup () {
- NOW=$(date +"%Y-%m-%d-%H:%M");
- BACKUPDOMAIN="$BACKUPPATH/$DOMAIN";
- if [ ! -d $BACKUPDOMAIN ]; then
- mkdir $BACKUPDOMAIN
- fi
- BACKUP="$BACKUPDOMAIN/$NOW";
- if [ ! -d $BACKUP ]; then
- mkdir $BACKUP
- fi
- if [ -d "$HOSTPATH/$DOMAIN/" ]; then
- backupcodeanddatabase $HOSTPATH $DOMAIN $BACKUP
- else
- echo "directory not found: $HOSTPATH/$DOMAIN/"
- fi
- }
- if [ -z "$1" ]; then
- for DIR in "$HOSTPATH/*/"
- do
- DOMAIN="$DIR"
- dobackup
- done
- exit 0
- else
- DOMAIN="$1";
- dobackup
- exit 0
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement