Liam,
We back up a number of remote SME servers via ssh/rsync daily. We're only interested in the ibays and email data so we have a SuSE 9.1 machine with 160GB HDD running the following (as examples):
Crontab entry for root:
# Rsync User&Mail Area to server2
2 22 * * * /backup/scripts/rsync_share.sh /dev/null 2>&1
# Rsync User&Mail Area to server2
2 23 * * * /backup/scripts/rsync_mail.sh /dev/null 2>&1
/backup/scripts/rsync_share.sh:
#!/bin/bash
COMPANY="COMPANY_NAME_HERE"
HOST="companyname.com"
START=date
echo "Backup report for $COMPANY - share" > /tmp/mail_rep_$COMPANY
echo "==========================" >> /tmp/mail_rep_$COMPANY
echo "" >> /tmp/mail_rep_$COMPANY
echo "Backup Start : "$START .> /tmp/mail_rep_$COMPANY
/usr/bin/rsync -ave 'ssh -C' --stats --timeout=60 --delete root@$HOST:/home/e-smith/files/ibays/share /backup/data/$COMPANY/ibays >> /tmp/mail_rep_$COMPANY
if test $? = 0; then
REPORT="Share Backup OK from $COMPANY"
else
REPORT="Share Backup FAILED from $COMPANY"
fi
END=date
echo "" >> /tmp/mail_rep_$COMPANY
echo "Backup Finish: "$END >> /tmp/mail_rep_$COMPANY
echo "" >> /tmp/mail_rep_$COMPANY
echo $REPORT >> /tmp/mail_rep_$COMPANY
cat /tmp/mail_rep_$COMPANY
mail -s "$REPORT" me@ourcompany.com < /tmp/mail_rep_$COMPANY
/backup/scripts/rsync_mail.sh:
#!/bin/bash
COMPANY="COMPANY_NAME_HERE"
HOST="companyname.com"
START=date
echo "Backup report for $COMPANY - email" > /tmp/mail_rep_$COMPANY
echo "==========================" >> /tmp/mail_rep_$COMPANY
echo "" >> /tmp/mail_rep_$COMPANY
echo "Backup Start : "$START .> /tmp/mail_rep_$COMPANY
/usr/bin/rsync -ave 'ssh -C' --stats --timeout=60 --delete root@$HOST:/home/e-smith/files/users /backup/data/$COMPANY >> /tmp/mail_rep_$COMPANY
if test $? = 0; then
REPORT="Mail Backup OK from $COMPANY"
else
REPORT="Mail Backup FAILED from $COMPANY"
fi
END=date
echo "" >> /tmp/mail_rep_$COMPANY
echo "Backup Finish: "$END >> /tmp/mail_rep_$COMPANY
echo "" >> /tmp/mail_rep_$COMPANY
echo $REPORT >> /tmp/mail_rep_$COMPANY
cat /tmp/mail_rep_$COMPANY
mail -s "$REPORT" me@mycompany.com < /tmp/mail_rep_$COMPANY
This relies on copying the public ssh key to the remote server. I expect you should be able to set up something similar using plink from the PC. Not perfect but improving all the time
Damian