Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BACKUP CONFIG
- #########################
- ####Backup confing ######
- #########################
- # Witch directory to backup
- DIR=/root/test
- # Local backup directory
- BACKUPDIR=/root/backup
- # Remote FTP Server
- FTPSERVER=ftp.server.com
- FTPUSER=user
- FTPPASS=password
- FTPDIR=/backupdir
- # SQL Server, User, Pass, Databases
- MYSQLSERV=localhost
- SQLUSER=user
- SQLPASS=pass
- SQLDBS=base1,base2
- # Password for backup encryption
- SALTPASS=
- # Select No (0), local (1), remote (2) backup
- BACKUP=0
- # Select No (0), MySQL (1) backup
- SQLBACKUP=0
- BACKUP SCRIPT
- #!/bin/bash
- # Backup Script v1.0
- # Created by Michal Mewald
- # Date 05/09/2012
- #############################################
- ############### Main Config #################
- #############################################
- # Temp directory for backup create
- GLOBALTEMPDIR=/tmp/backup
- BACKUPFILE=backup.`date +%d-%m-%y.%k:%M`.tgz
- BACKUPFILESALT=backup.`date +%d-%m-%y.%k:%M`.file
- TEMPDIR=$GLOBALTEMPDIR/$(whoami)
- #############################################
- #### Check if script is run as good user ####
- #############################################
- if [ "$(whoami)" != "$(id -un)" ]; then
- echo -e "Script must be run as $(whoami), exiting"
- exit 1;
- fi
- #############################################
- ############### Backup Script ###############
- #############################################
- ### Loading user config
- source $HOME/backup.conf
- ### Loading main config
- # source
- ### Data backup
- if [ $BACKUP = 0 ] && [ $SQLBACKUP = 0 ]; then
- echo -e "Check config file, no backup set"
- exit 1;
- fi
- if [ $BACKUP = 0 ]; then
- echo -e "No directory backup"
- else
- if [ ! -d $DIR ]; then
- echo -e "Directory to backup do not exist. Abort<br />"
- elif [ ! -d $TEMPDIR ]; then
- echo -e "No temp directory, creating"
- mkdir -p $TEMPDIR
- cp -R $DIR $TEMPDIR
- else
- cp -R $DIR $TEMPDIR
- fi
- fi
- ### SQL Backup
- if [ $SQLBACKUP = 0 ]; then
- echo -e "No databases backup"
- elif [ $SQLBACKUP = 1 ]; then
- echo -e "Creating MySQL Databases<br \>"
- bases=$(echo $SQLDBS | tr "," "\n")
- for b in $bases
- do
- mysqldump -u$SQLUSER -p$SQLPASS --opt $b > $TEMPDIR/$b.sql
- done
- fi
- ### Creating backup file
- echo -e "Creating backup file $BACKUPFILE"
- tar -zcvf $GLOBALTEMPDIR/$BACKUPFILE $TEMPDIR
- if [ $BACKUP = 1 ]; then
- if [ ! -d $BACKUPDIR ]; then
- echo -e "No backup dir, creating"
- mkdir -p $BACKUPDIR
- fi;
- fi;
- ### Puting backup in the right place
- if [ $BACKUP = 1 ]; then
- if [ $SALTPASS != "" ]; then
- openssl enc -des3 -salt -k $SALTPASS -in $GLOBALTEMPDIR/$BACKUPFILE -out $BACKUPDIR/$BACKUPFILESALT
- else
- mv $GLOBALTEMPDIR/$BACKUPFILE $BACKUPDIR
- fi;
- else
- if [ $SALTPASS != "" ]; then
- openssl enc -des3 -salt -k $SALTPASS -in $GLOBALTEMPDIR/$BACKUPFILE -out $GLOBALTEMPDIR/$BACKUPFILESALT
- ncftpput -u $FTPUSER -p $FTPPASS $FTPSERVER $FTPDIR $GLOBALTEMPDIR/$BACKUPFILESALT
- else
- ncftpput -u $FTPUSER -p $FTPPASS $FTPSERVER $FTPDIR $GLOBALTEMPDIR/$BACKUPFILE
- fi;
- fi;
- ### Clear temp
- if [ $BACKUP != 0 ]; then
- if [ $SALTPASS != "" ] && [ $BACKUP = 2 ]; then
- rm -f $GLOBALTEMPDIR/$BACKUPFILE
- rm -f $GLOBALTEMPDIR/$BACKUPFILESALT
- else
- rm -f $GLOBALTEMPDIR/$BACKUPFILE
- fi;
- rm -rf $TEMPDIR/*
- fi;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement