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.
Server Fault is a question and answer site for system and network administrators. It only takes a minute to sign up.
Sign up to join this communityman 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
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.
rsync cannot create incremental backups. Try rdiff-backup.