PDA

View Full Version : FTP Backup



iGoD ReLeNtLeS
16-05-11, 17:38
Looking for a program that i can run on my VPS that will zip several directories (mainly /var/www/, /home/ and /root/) i give it and then send the zip file via. ftp to my home server, somewhat of a backup program.

I installed something similar on my old VPS and for the love of god i cant remember what its called.

Running Ubuntu 10.10 :thumb:

Many Thanks, iGoD.

gmunday
16-05-11, 18:04
could you not make your own script to do all that mate?

Spaceboy
16-05-11, 18:39
indeed, just sort out automatic login via ftp (or preferably sftp using private/public keys) and script the rest :)

tar, gzip, sftp :thumb:

andyn
17-05-11, 10:16
Indeed. Or even scp, no need to actually have an FTP server for that, assuming you already have an ssh service running.

iGoD ReLeNtLeS
17-05-11, 12:37
Well i have ftp and ssh running on my home server, however have absolutely no experience with sh scripting.

EDIT: Done! :D quite impressed for my first ever attempt at sh scripting

EDIT2: Seems to be having a bit of trouble ftping it over. could someone give me a hand with that, i looked at a couple of other scripts, but unsure as of how to go about it as it doesnt seem to be logging in.


#!/bin/sh

BACKUPDIR=/tmp/backup/
FILE=backup-`date +%d-%m-%Y`.tar.gz

if [ -d $BACKUPDIR ];
then
cd $BACKUPDIR

if [ -f webserver.tar.gz ];
then
rm webserver.tar.gz
fi

if [ -f home.tar.gz ];
then
rm home.tar.gz
fi

if [ -f root.tar.gz ];
then
rm root.tar.gz
fi

tar -Pczf webserver.tar.gz /var/www/
tar -Pczf home.tar.gz /home/
tar -Pczf root.tar.gz /root/
else
mkdir $BACKUPDIR
cd $BACKUPDIR
tar -Pczf webserver.tar.gz /var/www/
tar -Pczf home.tar.gz /home/
tar -Pczf root.tar.gz /root/
fi

tar -czf $FILE webserver.tar.gz home.tar.gz root.tar.gz
rm webserver.tar.gz
rm home.tar.gz
rm root.tar.gz
cd

HOST="dev.iwader.co.uk"
PORT=""
PASS=""
USER=""
FTPDIR=/home/wader/backups/vps/velocity/
FTPFILE=/tmp/backup/$FILE

ftp -n $HOST $PORT <<END_SCRIPT
quote USER $USER
quote PASS $PASS
cd $FTPDIR
put $FTPFILE
END_SCRIPT
quit

rm $FTPFILE

exit 0

iGoD ReLeNtLeS
17-05-11, 19:32
Ok condensed the script down a considerable amount. now using automatic ftp login and zip all the files into 1 file rather than zipping into 3 separate then zipping into 1.


#!/bin/sh

BACKUPDIR=/tmp/backup/
FILE=backup-`date +%d-%m-%Y`.tar.gz

if [ -d $BACKUPDIR ];
then
cd $BACKUPDIR

if [ -f $FILE ];
then
rm $FILE
fi

tar -Pczf $FILE /var/www/ /var/mail/ /var/lib/mysql/ /home/
else
mkdir $BACKUPDIR
cd $BACKUPDIR
tar -Pczf $FILE /var/www/ /var/mail/ /var/lib/mysql/ /home/
fi

chmod 755 -R /tmp/backup/
HOST=dev.iwader.co.uk
FTPDIR=/home/wader/backups/vps/velocity/
FTPFILE=/tmp/backup/$FILE

ftp -i $HOST <<EOF
cd $FTPDIR
put $FTPFILE
quit
EOF

rm $FTPFILE

exit 0


Still having some trouble getting the ftp to transfer over, cant seem to crack it :scratch

EDIT: Solved like a pro ;) used this 'ere code


#!/bin/sh

BACKUPDIR=/tmp/backup/
FILE=backup-`date +%d-%m-%Y`.tar.gz

if [ -d $BACKUPDIR ];
then
cd $BACKUPDIR

if [ -f $FILE ];
then
rm $FILE
fi

tar -Pczf $FILE /var/www/ /var/mail/ /var/lib/mysql/ /home/
else
mkdir $BACKUPDIR
cd $BACKUPDIR
tar -Pczf $FILE /var/www/ /var/mail/ /var/lib/mysql/ /home/
fi

chmod 777 -R /tmp/backup/
chown wader:wader -R /tmp/backup/
HOST=dev.iwader.co.uk
FTPDIR=/home/wader/backups/vps/velocity/
FTPFILE=/tmp/backup/$FILE

ftp -i $HOST <<EOF
cd $FTPDIR
put $FTPFILE $FILE
quit
EOF

rm $FTPFILE

exit 0