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

Seamless Local Control: Integrating WeatherFlow with Home Assistant Across VLANs

I've been pleased with my Home Assistant setup for some time now. One of my main focuses has been achieving local control. This ensures...