Below is code of script :
#!/bin/bash
# v.0.1.6
# rsync all important system files
WHERE=/backup
COUNT=3
# Creating full file archives with duplicity
function make_archive(){
if [ ! -d $2 ]; then
mkdir -p $2
fi
echo "################ $1"
duplicity full --verbosity 4 --volsize 100 --no-encryption $1 file://$2
duplicity remove-all-but-n-full ${COUNT} --force --verbosity 4 --no-encryption file://$2
}
################################################################
################################################################
make_archive /home/user $WHERE/files/user
make_archive /root $WHERE/files/root
make_archive /etc $WHERE/files/etc
make_archive /var/log $WHERE/files/var.log
make_archive /usr/share/zabbix $WHERE/files/usr.share.zabbix
make_archive /usr/share/redmine $WHERE/files/usr.share.redmine
################################################################
################################################################
# Creating mount directory
TARGETDIR='h2-32/101'
MOUNTDIR='/tmp/u54398.your-backup.de.mount'
SERVER='u54398.your-backup.de'
##################################
if [ ! -d ${MOUNTDIR} ]; then
mkdir -p ${MOUNTDIR}
fi
# Mounting and actions of rsync
verify=`cat /proc/mounts |grep ${SERVER}:${TARGETDIR} | cut -d ' ' -f 1`
if [ "$verify" != "${SERVER}:$TARGETDIR" ]; then
if sshfs ${SERVER}:${TARGETDIR} ${MOUNTDIR} ; then
echo $?
rsync -rlpt -v --delete-before $WHERE ${MOUNTDIR}
ls -l ${MOUNTDIR}
fusermount -u ${MOUNTDIR}
else
echo "$? - not mounted. sshfs failure."
exit
fi
else
echo "$? - already mounted. sshfs failure."
exit
fi
echo "df -h ."| sftp -b - ${SERVER}
## ChangeLog
## 0.1.6
# - was changed option of rsync
# --delete-after -> --delete-before
# at time backup on remote server
# - was added variable COUNT
## 0.1.5
# first release