#!bin/bash #RoQ-up v.0.2 made by Roconda (Tim Slot) feedback: Tim.Slot@gmail.com #This script will backup by default your home dir to /usr/backup #BEGIN CONFIG homedir="$PWD" # You can change this to the map which have to be backed-up backupstorage="/usr/backup" cron="0" # 0 = no || 1 = yes date=$(date +%F) # Do not change it unless you know what you are doing #END OF CONFIG #TODO: #-building ftp support, like transfering to a ftp/storage server. #DO NOT CHANGE THIS CODE WITHOUT KNOWING WHAT YOU ARE DOING! if [ `id -u` != "0" ] ; then echo "--< ERROR >-- You have to be root" exit 1 fi if [ ! -d "$backupstorage" ] ; then /bin/mkdir $backupstorage echo "--< DONE >-- Build $backupstorage, please execute this script again" exit 1 fi if [ -e "$backupstorage/backup-$date.tar.gz" ] ; then echo "--< ERROR >-- File already exist" exit 1 fi if [ "$cron" = "1" ] ; then tar -czvf $backupstorage/backup-$date.tar.gz $homedir exit 0 fi echo "--< BUILDING >-- Backing-up $homedir" tar -czvf $backupstorage/backup-$date.tar.gz $homedir size=`ls -sh --color=none $backupstorage/backup-$date.tar.gz | egrep -o '^[0-9.PTGMKB]+'` echo echo "--< DONE >-- Backed-up $homedir to $backupstorage" echo echo "----------------------------------" >> ~/backup.log date >> ~/backup.log echo "Backup from: $homedir" >> ~/backup.log echo "Backup to: $backupstorage" >> ~/backup.log echo "Saved as: backup-$date.tar.gz" >> ~/backup.log echo "Compressed size: $size" >> ~/backup.log echo "----------------------------------" >> ~/backup.log tail -n 7 ~/backup.log exit 0