The best way - depends on what you need.<br><br>Here is what I do - <br><br>Each night, I have a cron job that mounts an external drive and I copy files.  Here is a snippet:<br>#!/bin/bash<br>### backup to usb drive ###<br>
# Ensure the device is plugged in<br>if [ ! -b /dev/USB-500GB-EXT ]; then<br>        exit 1<br>fi<br><br># Mount the backup mount point<br>mount /backup<br><br><br>echo "*******************************">>/backup/backup.log
<br>echo "Start Backup">>/backup/backup.log<br>date>>/backup/backup.log<br><br><br>echo "/home/klee/ - processing ...">>/backup/backup.log<br># Copy data from /home/klee<br>cd /backup
<br>mkdir /backup/home<br>mkdir /backup/home/klee<br>cd /backup/home/klee<br>cp -a -u -v --reply=yes /home/klee/ /backup/home/<br><br>date>>/backup/backup.log<br>echo "Backup Complete">>/backup/backup.log
<br>cd /root<br><br># unmount the backup mount point<br>umount -l /backup<br><br><br>###############################################<br><br>From work, I use rsync.  With a windows laptop, I would use rsync and ssh with cygwin.  Here's a sample of that script:
<br>@echo off<br>setlocal<br><br>set PATH=c:\cygwin;%PATH%<br>set CYGWIN=binmode tty<br>set TERM=ansi<br>set USERNAME=klee<br>set HOME=c:\cygwin<br>set RSYNC_RSH=ssh.exe<br><br>@echo on<br>c:<br>cd "\My Documents"
<br>rsync -e c:\cygwin\ssh -va ./ username@ipaddress:/home/klee/mydocuments/<br><br>endlocal<br><br><br>Hope that gives you some ideas.  For this to work, I have a dedicated server at home and spend an extra 5 dollars a month for a static IP address.  This way I can SSH to my Home PC anytime I need from just about anywhere I have an internet connection.  This has really helped when I needed to get a hint from sourcecode I had at home.  Just a quick SSH terminal session, and I had what I needed.
<br><br>Ken<br><br>