The rsync program is a fast and flexible tool for remote backup. It is common on UNIX and UNIX-like systems, easy to configure and use in scripts. While the r in rsync stands for "remote", you do not need to take this all too literally. Your "remote" device might just as well be a USB storage device or another partition on your hard disk, you do not need to have two separated machines.
As discussed in Section 22.214.171.124, we will first have to mount the device. Possibly, this should be done as root:
root@theserver# mkdir /mnt/usbstore root@theserver# mount -t vfat /dev/sda1 /mnt/usbstore
More and more distributions give access to removable devices for non-prilileged users and mount USB devices, CD-ROMs and other removable devices automatically.
Note that this guideline requires USB support to be installed on your system. See the USB Guide for help if this does not work. Check with dmesg that /dev/sda1 is indeed the device to mount.
Then you can start the actual backup, for instance of the /home/karl directory:
karl@theserver:~> rsync -avz /home/karl/ /mnt/usbstore
As usual, refer to the man pages for more.