Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # for debuging stop script on error
- # set -e
- GLOBIGNORE=*:?
- # as I call this from cron, I like to know how long backups took
- # NICECMD="time -p ionice -c 3 nice -n 19"
- NICECMD=nice
- # Backup destination
- # over ssh on remote host
- # [email protected]::/home/backups/myserver
- # not good practice to backup to local
- # but this can be a NFS mount
- DSTBASE=/home/backups/
- RDIFF="rdiff-backup"
- # RDIFFARGS="-v5 --print-statistics --exclude **/*nobackup*"
- # RDIFFARGS="-v5 --print-statistics --exclude **/*nobackup* --exclude-special-files"
- RDIFFARGS="--exclude **/*nobackup* --exclude-sockets --exclude-device-files --exclude-fifos"
- RDIFFRMOLD="--remove-older-than 1W --force"
- LOCKFILE=/var/run/backup-rdiff.pid
- # remove lock file if older then 2 days
- # todo: would probably be smarter to check if pid is still runing
- if test -e $LOCKFILE
- then
- if test `find $LOCKFILE -mtime 2 -type f`;
- then
- echo "$LOCKFILE older then 2 days! Deleting it."
- rm -f $LOCKFILE
- fi
- fi
- if test -e $LOCKFILE;
- then
- echo "Backup is already running!"
- echo "If it isn't, remove $LOCKFILE and try again."
- exit 1
- else
- echo $$ > $LOCKFILE
- fi
- BACKUPDIR=/var/www
- # this is adapted to my local site (no need to backup cache and sessions)
- BACKUPARGS="--exclude /var/www/vhosts/*/log/* --exclude **/smarty/cache/* --exclude **/smarty/compile/* --exclude **/wp-content/cache/* --exclude **/cache/cachefs/* --exclude **/cache*/*cache* --exclude /var/www/php5-fpm --exclude **/sites/default --exclude **/sessions/sess_* "
- echo /*
- echo ** Backing up $BACKUPDIR
- echo */
- $NICECMD $RDIFF $RDIFFARGS $BACKUPARGS $BACKUPDIR $DSTBASE$BACKUPDIR
- $NICECMD $RDIFF $RDIFFRMOLD $DSTBASE$BACKUPDIR
- # du to drupal saving it's settings in a readonly dir, this gave issues packing up over ovh NFS
- # as I don't have root access on my NFS backup space
- # so I will make a local backup
- #$NICECMD $RDIFF $RDIFFARGS --include "**/sites/default" --exclude "*" $BACKUPDIR /home/backups/serv01$BACKUPDIR
- #$NICECMD $RDIFF $RDIFFRMOLD /home/backups.local/serv01$BACKUPDIR
- BACKUPDIR=/root
- BACKUPARGS=""
- echo /*
- echo ** Backing up $BACKUPDIR
- echo */
- $NICECMD $RDIFF $RDIFFARGS $BACKUPARGS $BACKUPDIR $DSTBASE$BACKUPDIR
- $NICECMD $RDIFF $RDIFFRMOLD $DSTBASE$BACKUPDIR
- BACKUPDIR=/home
- BACKUPARGS="--include /home/backups/database --exclude /home/backups --exclude /home/antony/downloads --exclude /home/antony/tmp --exclude /home/archives"
- echo /*
- echo ** Backing up $BACKUPDIR
- echo */
- $NICECMD $RDIFF $RDIFFARGS $BACKUPARGS $BACKUPDIR $DSTBASE$BACKUPDIR
- $NICECMD $RDIFF $RDIFFRMOLD $DSTBASE$BACKUPDIR
- BACKUPDIR=/etc
- BACKUPARGS=""
- echo /*
- echo ** Backing up $BACKUPDIR
- echo */
- $NICECMD $RDIFF $RDIFFARGS $BACKUPARGS $BACKUPDIR $DSTBASE$BACKUPDIR
- $NICECMD $RDIFF $RDIFFRMOLD $DSTBASE$BACKUPDIR
- BACKUPDIR=/usr/local
- BACKUPARGS=""
- echo /*
- echo ** Backing up $BACKUPDIR
- echo */
- $NICECMD $RDIFF $RDIFFARGS $BACKUPARGS $BACKUPDIR $DSTBASE$BACKUPDIR
- $NICECMD $RDIFF $RDIFFRMOLD $DSTBASE$BACKUPDIR
- BACKUPDIR=/opt
- BACKUPARGS=""
- echo /*
- echo ** Backing up $BACKUPDIR
- echo */
- $NICECMD $RDIFF $RDIFFARGS $BACKUPARGS $BACKUPDIR $DSTBASE$BACKUPDIR
- $NICECMD $RDIFF $RDIFFRMOLD $DSTBASE$BACKUPDIR
- # Remove lock file and end script
- #
- if test -e $LOCKFILE; then
- rm $LOCKFILE;
- else
- echo "Could not remove lock file!";
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement