Thats Tops: whatever I think about as cool enough to blog it

Choose a Topic:

Posts Tagged ‘gzip’

rsync

Friday, April 11th, 2008

Lately I have written about a great Unix tool called SCP. Now recently I had the need to equal two Unix filesystems from which one was a remote filesystem in oversea. Now how to do that?!

Now you could just copy all the stuff from the remote system (I’m sure you know all about … tar, gzip, zip). For sure a secure way to go! But also very time and resource intensive for sure. Could that be done more elegant? ….  Someone could also have the idea to use a “better” ftp client being able to compare directories. Clever eh?

But are you aware how it stretches the needed time for it when you put a 3rd system in between? Anything better?

A few of you might now know a brilliant little helper out of the Microsoft Ressource Kit called robocopy?! Be carefully with the /MIR option …. read first and be aware what you are doing!

But I guess just only a hand full of you all here will know that this gorgeous robocopy is just the Windows equivalent of a UNIX tool called rsync.   Go for it!  rsync - Thats Tops!

Doing it yourself

Wednesday, January 30th, 2008

Unfortunately there seems to be no sunshine without shade! So even moving to Media Temple was easy doing and since being there I had no issues anymore, I started to feel annoyed about them not offering a working home directory backup utility like the prior provider did within his CPanel.

Just I thought complaining about will not really help you to get your back-ups done and so I decided  to write my own little replacement script for it. Perhaps someone will be happy using it too …

#!/bin/bash
# FTP Backup by Michael Lohmar
# Script: ftpbackup.sh
# Author: Michael Lohmar
# Contact? info@mikelo.com

if [ $# != 3 ];then
echo “”
echo “Shell script for backing up one given domain.”
echo “Usage: $(basename $0) domain_to_backup [FTP/NOFTP] [DEL/NODEL]”
echo “”
exit
fi

version=1.0

##### INSTALL INSTRUCTIONS: STEP 1 #####
##### START ENTER YOUR INFO HERE #####

serverip=yourserver.com
# Your remote servers IP address
# EG: serverip=192.168.1.1

serveruser=youruser
# The FTP login for the remote server
# EG: serveruser=bob

serverpass=yourpassword
# The FTP password for the remote server
# EG: serverpass=mypassword

localdir=/home/your/local/folder
# WHERE LOCAL FILES ARE TO BACKUP
# NO TRAILING SLASH
# EG: localdir=/backup/folder/daily

sourcedir=/home/your/source/folder
# WHERE LOCAL FILES ARE TO BACKUP
# NO TRAILING SLASH
# EG: localdir=/domain/source/folder

remotedir=your/remote/folder
# FTP directory where you want to save files to
# This directory must exist on the FTP server!
# NO TRAILING SLASH
# EG: remotedir=/serverdirectory

##### END YOUR INFO HERE #####

##### INSTALL INSTRUCTIONS: STEP 2 #####
# CHMOD the script to 755: # chmod 755 ftpbackup.sh

# Add the script to a scheduled cron job to run as often as you like (if wished!)

# In SSH do crontab -e, then paste in the following
# 0 6 * * 0,1,3,5 /home/admin/ftpbackup.sh
# This does a FTP backup every second day of the week, lookup cronjobs for more info on setting dates and times.
# Don’t forget to substitue the path info to the script with your details
##### INSTALL COMPLETE #####
# DO NOT MODIFY ANYTHING BELOW #

host=`hostname`
cd $sourcedir

echo “Starting FTP Backup on ” $host

# Creating a local tar.gz Archive
tar cfvz $localdir/$1_`date +%y_%m_%d`.tar.gz $1

# Transfer the tar.gz Archive to remote server
if [ $2 == FTP ];then
cd $localdir
echo “user $serveruser $serverpass
cd $remotedir
bin
verbose
put $1_`date +%y_%m_%d`.tar.gz
” | ftp -i -n $serverip
fi

# Delete local tar.gz Archive again
if [ $3 == DEL ];then
rm $localdir/$1_`date +%y_%m_%d`.tar.gz
fi

echo “Ftp backup complete on ” $host
exit 0