Using rsync
From wiki.perl.lt
2010.11.09 3:02 algirdasATperl.lt
if using rsync/other user, user needs to have access to data that is going to be synced (chmod/vigr). master server: # su - rsync $ ssh-keygen -t dsa backup server: # su - rsync $ mkdir ~rsync/.ssh $ chmod 700 ~rsync/.ssh copy ~rsync/.ssh/id_dsa.pub from master server to backup server ~rsync/.ssh/authorized_keys $ chmod 600 ~rsync/.ssh/authorized_keys master server: create script f.e.: /usr/local/sbin/rsync_data.sh ---------------------------------------------------------------------------------- #!/bin/sh RSYNC=/usr/bin/rsync SSH=/usr/bin/ssh KEY=/home/rsync/.ssh/id_dsa RUSER=rsync RHOST1=backup-server.com RPATH1=/etc/ubersoft LPATH1=/etc/ubersoft/ RPATH2=/var/lib/ubersoft/sounds/custom LPATH2=/var/lib/ubersoft/sounds/custom/ nice $RSYNC -azv --links --delete -e "$SSH -i $KEY" $LPATH1 $RUSER@$RHOST1:$RPATH1 nice $RSYNC -azv --links --delete -e "$SSH -i $KEY" $LPATH2 $RUSER@$RHOST1:$RPATH2 ---------------------------------------------------------------------------------- # chmod +x /usr/local/sbin/rsync_data.sh # su - rsync run to check for errors (with user that will be used): $ /usr/local/sbin/rsync_data.sh add crontab job in /etc/crontab or "crontab -e" f.e.: #RSYNC stuff... every 5 minutes */5 * * * * rsync /usr/local/sbin/rsync_data.sh