1

Does anyone have a bash script that will only backup new or modified files inside a specific directory?

Basically, what I'm looking for is an incremental backup. I've been running a full backup for a couple days now and it's just not practical.

4 Answers4

3
man rsync

it does exactly what you need

to be more specific - you must have rsync --daemon on the machine with the files and the following command on the machine the backup is stored

/usr/bin/rsync -avz 1.2.3.4::ETC/ /some/dir/to/store/the/backup

where 1.2.3.4 is the ip of the machine and ETC is defined in /etc/rsyncd.conf as seen below

[ETC]
        comment = etc
        path = /etc
        use chroot = yes
        list = no
        uid = 0
        gid = 0
        read only = yes
        hosts allow = 6.7.8.9, 10.11.12.13
        hosts deny = 0.0.0.0/0
        transfer logging = yes

also, port 873/tcp must be allowed in the firewall

quaie
  • 1,122
  • 6
  • 14
1

I'd suggest rsnapshot.

blank3
  • 2,237
  • 1
  • 16
  • 14
0

rdiff-backup is honestly your best bet for this. I've been using it for about 2 years on a fairly large and active box. Using it is pretty straight forward:

rdiff-backup /my_active_dir /my_backup_dir/

If you're interested in backups over a network, check out Duplcity (Google for it, I can't post two links apparently) which works under the same concept but sends encrypted volumes to wherever you wish. Even supports Amazon S3.

Bartek
  • 799
  • 2
  • 8
  • 12
-1

rsync cannot create incremental backups. Try rdiff-backup.

igustin
  • 365
  • 2
  • 6
  • 1
    That's not what `man rsync` suggests. See the `--backup-dir=DIR` option. – pavium Oct 24 '09 at 12:06
  • that's why some people use tools which come with the distro, and others use third-party apps/scripts/etc - the patience to read manpages :) – quaie Oct 24 '09 at 12:35