Cygwin/Rsync backup
1. Install Cygwin, with these packages:- Editors/vim
- Net/openssh (and dependencies)
- Net/rsync
- Add config files to backup directory:
- exception_list.txt (list of files to ignore)
- backuplist.txt (list of files/directories to back up, relative to the user profile path, Unix-style paths)
- backup.sh (below)
- backup.log (empty file)
- backup.bat (below)
echo
- !/bin/bash
echo "backup started"
USERDIR="/cygdrive/c/Documents and Settings/"
BACKUPDIR=cygwin-backup
RSYNCACCT=1034
RSYNCSERV=usw-s001.rsync.net
date
cd "$USERDIR"
rsync -rvte ssh --exclude-from=$BACKUPDIR/exception_list.txt --delete --files-from=$BACKUPDIR/backuplist.txt . $RSYNCACCT@$RSYNCSERV:backups/ |tee -a $BACKUPDIR/backup.log 2>&1
scp $BACKUPDIR/backup.log $RSYNCACCT@$RSYNCSERV:backups/
ssh $RSYNCACCT@$RSYNCSERV "chmod -R 770 backups"
date
5. Create SSH keys, in Cygwin Bash shell (accept defaults, do not use passphrase):
ssh-keygen -t rsa
-
Copy SSH public key up to server:
scp .ssh/id_rsa.pub 1034@usw-s001.rsync.net:.ssh/authorized_keys -
Make backup script executable:
chmod 775 /cygdrive/c/Documents\ and\ Settings/<USERNAME>/cygwin-backup/backup.sh -
Test:
/cygdrive/c/Documents\ and\ Settings/Bill/cygwin-backup/backup.sh -
Create backup.bat batch file for Windows scheduler (edit path to .sh script):
@echo off
C:
chdir C:\cygwin\bin
bash --login -i -c "/cygdrive/c/Documents\ and\ Settings/Bill/cygwin-backup/backup.sh"
10. Create schedule as desired, using Windows scheduler to launch the batch file (note a password for the user is required).
- Change password for the backup location, and record password in intranet:
ssh -t 1034@usw-s001.rsync.net passwd