You might want to consider running an SSH server on the machine where the files that need to be backed up are stored (the source machine), then running a cron job on another machine (the backup machine), which connects to the source machine and copies (or rsync's) the files that need to be backed up. You might also want to include a job on the backup machine that preserves changed files for versioning purposes (hard links are good for this).
By allowing connections from the backup machine to the source machine, but not vice-versa - this addresses the security concern that you described in your question. Even if an attacker gains access to your source machine, he would not be able to connect to the backup machine to destroy your backups. Versioning on the backup machine provides another layer of protection, in case backed-up files on the backup machine are overwritten by files copied over from the source machine which had been modified by an attacker. Also, you can make the solution more secure by only allowing SSH connections from the backup machine's IP address, and requiring key-based authentication by the backup machine.