Using rsync

From wiki.perl.lt
Jump to: navigation, search

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
Personal tools
Categories