Thursday, August 16, 2007

rsync over ssh


I wanted to start using rsync to mirror some our iTunes library across our computers.  On the main computer, I would rsync the iTunes library to our server, and then on all the other computers, I would rsync the library back down.


I also want to run rsync on the server in daemon mode, as there are some nice configuration options to specify "modules" for the different data that I wanted to synchronize.


After looking into this, there were a few things that I didn't like with the default solution.


  1. I  didn't want to open the rsyncd port through my firewall.  (Even though I could have specified authentication crednetials.)

  2. If I want to use rsync's ssh support, and want to define all of the modules in /etc/rsyncd.conf, I would have to give the root user the ability to login in through ssh.


Here is how I set this up:





Created rsynd.conf in the home directory of the non-root user on the server:




[iphoto]
  path = /data/iPhoto
  read only = false
  comment = iPhoto backup
  list = yes
  use chroot = false



Make sure the location specified by "path" on the server is writable by this non-root user.


Use the following command on the source computer:



rsync -azvE -r -n --exclude '.DS_Store' --delete --verbose --progress --rsh="ssh -l user" /Users/Shared/iPhoto\ Library user@domain.com::iphoto/iPhoto\ Library

No comments:

Post a Comment

Unlocking Raspberry Pi Potential: Navigating Network Booting Challenges for Enhanced Performance and Reliability

I've set up several Raspberry Pis around our house for various projects, but one recurring challenge is the potential for SD card failur...