This question already has an answer here:

I'm wanting to do an incremental backup from my Linux computer to server. I've made the ssh link and I can at least get RSYNC to load the files incrementally, which I plan to do daily using cron.daily, but I want the server (Synology 213j) to take care of tarring the file, though - in my mind - I think it would be fine for my computer to tell the server to TAR the file every week and then put it in weekly, then tar it every month, and finally every two months.

The code I found that sounded somewhat like it might work is this example.

ssh root@ "tar cvpfz - / --exclude="tmpl" | ssh regx@ "cat > /media/shared/backup/iphone/iphone_bak_$today.tgz"

However, this looks like it's piping an iPhone to a server backup and it's probably much more complicated than I'll actually need.

Bonus question: would I be better off trying to run the TAR code on the server itself?

marked as duplicate by slm, jasonwryan, Anthon, devnull, Braiam Apr 16 '14 at 15:15

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • I saw that post, but I don't think that's quite what I'm going for. – lupaanst Apr 16 '14 at 2:19
  • 1
    This command isn't what you want? tar -cf - /path/to/backup/dir | ssh remotehost "cat - > backupfile.tar"? That's right from the accepted A and would seem to do what you want. You'll have to modify it but that's a parred down version of what you have above. Also can you elaborate on "incremental backup"? That's a loaded phrase the way you've used it. Do you mean incremental as in daily vs. incremental as in only the files that have changed from some prior backup? – slm Apr 16 '14 at 2:21
  • Well, I'm using a laptop and I'd rather use rsync, since I'm occasionally on a spotty network. If I'm reading that code correctly, it tars the files and transfers it to the server via ssh, right? – lupaanst Apr 16 '14 at 2:23
  • As the file is being tarred it's being streamed out over STDOUT through an ssh connection where the contents are then written to disk on the remote server side. – slm Apr 16 '14 at 2:24
  • rsync does nothing to compress the results, it simply makes duplicates from one location to another. True it will only sync what's changed but your Q is very unclear which direction you're trying to shoot for. – slm Apr 16 '14 at 2:26

There's a great tutorial on doing incremental backups called "Easy Automated Snapshot-Style Backups with Linux and Rsync". It's somewhat dated but sounds like it might be good reading for what you're trying to do. Here's a link: http://www.mikerubel.org/computers/rsync_snapshots/

Based on the above tutorial, a utility called rsnapshot has also been created: http://www.rsnapshot.org/

  • +1 Indeed, there are tools already written and debugged, and they should be preferred over quick hacks. – derobert Apr 16 '14 at 2:48
  • I do like this a lot, especially his rotating script. Now what about the tar issue. Should the server tar the file instead of the computer telling the server to tar it? – lupaanst Apr 16 '14 at 2:55

Not the answer you're looking for? Browse other questions tagged or ask your own question.