Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #### QUICK AND DIRTY BACKUP SCRIPT
- ###
- ### User-Configured Parameters
- BACKUP_LST=/etc/backup.lst
- BACKUP_EXCL=/etc/backup.xl
- BACKUP_DIR=/backup
- NEED_REMOTE_COPY=TRUE
- REMOTE_BACKUP_USER=backup
- REMOTE_BACKUP_HOST=193.111.2.26
- REMOTE_BACKUP_DIR=/var/backups
- BACKUP_KEEP_TIME=7
- BACKUP_MYSQL=FALSE
- MYSQL_ROOT_PASS=asdfasdf
- ###----------------------------------------------------
- ###
- ### DO NOT CHANGE ANYTHING BELOW THESE LINES....
- ###
- ###-----------------------------------------------------
- BACKUP_DATE=`date +%Y-%m-%d`
- mkdir -p $BACKUP_DIR/$BACKUP_DATE
- # Make tarball of all files that listed in BACKUP_LST file
- tar -zpcf $BACKUP_DIR/$BACKUP_DATE/$HOSTNAME-$BACKUP_DATE.tar.gz -T $BACKUP_LST -X $BACKUP_EXCL
- if [ $BACKUP_MYSQL == "TRUE" ]; then
- # Doing mysql dump of all databases
- mysqldump -uroot -p$MYSQL_ROOT_PASS -F -l --all-databases > $BACKUP_DIR/$BACKUP_DATE/mysql-all-databases-dump-$BACKUP_DATE.sql
- # ...and gzip it...
- gzip -9 $BACKUP_DIR/$BACKUP_DATE/mysql-all-databases-dump-$BACKUP_DATE.sql
- fi;
- if [ $NEED_REMOTE_COPY == "TRUE" ]; then
- # Copying backup to remote server
- rsync -e ssh -acq --force $BACKUP_DIR/$BACKUP_DATE/* $REMOTE_BACKUP_USER@$REMOTE_BACKUP_HOST:$REMOTE_BACKUP_DIR
- fi;
- # Cleaning old backups
- if [ -d $BACKUP_DIR ]; then
- find $BACKUP_DIR -maxdepth 2 -name \*.tar.gz -mtime +${BACKUP_KEEP_TIME} -exec rm -rf {} \;
- fi;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement