So you want to backup files from one system to another system, perhaps in a remote location, and you want a stupid simple way to do it? HA! Well, this is almost simple. You already have ssh on your system, but you will need one other utility, expect. If you are using centos or redhat, you can just "yum install expect" to install it. It is a scripting environment using Tcl. You can read more about it elsewhere, I'm just here to give you an idea on how to actually use it.

Here is an example file that assumes a few things you can likely figure out. It is run on the backup system, not the primary system. Create a file in /etc/cron.daily to run daily, chmod to 700 (NOT 755, as it will have a plain text password in it!) and here is a basic idea:

#!/usr/bin/expect -b

# or us path to YOUR expect command
# to prevent expect from thinking it needs to move on....
set timeout -1

#start a session, using a IP instead of domain is fine.
# Oh, and YES, the \n are needed to send the return key equiv.

spawn sftp name@example.com;
#note, if you use a different port for ssh, add -oPort=? before login name
expect "password:"
send "sshh!password\n";
expect "sftp> "
send "lcd /path/onthis/machine \n"
expect "sftp> "
send "cd /path/onremote/machine \n"
expect "sftp> "
send "get name.of.file.gz\n"
expect "sftp> "
send "quit\n"
expect eof
send_user "\nBackup complete.\n"
exit;

Other notes:
You might want to disable dns lookups on your sshd side, or possibly change "GSSAPIAuthentication yes" to NO, to avoid delays in logging in. May or may not need, and it may or may not break other things, so do at your own risk. The setting of the timeout to -1 in the script simply keeps expect from trying to continue on with the next command when it should be waiting. This is particularly handy when you are transfering files that may take a very long time to transfer.

The lcd and cd commands are not needed if you use a full path for the get command, but are handy if you are moving more than one file, and simply is a cleaner way in general.

Another idea: I run a script BEFORE this script in my cron that rotates my backups. ie: mv backup.gz to backup.gz2, and keep about a weeks worth of backups. Since sftp doesn't generally let you rename files, it is simplier to just do it in a bash script.