Child pages
  • rsync daemon service on OpenIndiana
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

The following has been tested on OpenIndiana 151a.

As of December 2011, OpenIndiana still does not include a service manifest for running an rsync daemon out of the box. Until this changes, others may find the following service manifest and method files helpful.

Before starting with this guide, make sure that rsync is installed on the machine. It is not installed per default in zones, but can be done so with pkg: pkg install network/rsync.

For the attachments to this page, click on the small paper clip icon at the top left.

copy the attached file "rsyncd.xml" to: /var/svc/manifest/network/rsyncd.xml

copy the attached file "rsyncd" to: /lib/svc/method/rsyncd

copy the attached file "rsync" to: /etc/default/rsync

Note that the variable RSYNC_ENABLE is already set to true in the last file.

now create a valid /etc/rsyncd.conf file. This must be done or the service will not run.

For a full list of options see: man rsyncd.conf

example /etc/rsyncd.conf file:

use chroot = yes
read only = yes
log file = /var/adm/rsyncd_upload.log
log format = - %a - %f
transfer logging = yes

#module to share ISO files
[ISO]
path = /lift/data/ISO
comment = public ISO repository

Now you can import the service manifest with the following code:

svccfg -v import /var/svc/manifest/network/rsyncd.xml

Next check to see the status of the rsyncd service:

svcs -a | grep rsyncd

you should see something like this:

offline          2:04:55 svc:/network/rsyncd:default

Now you need to enable the service:

svcadm enable network/rsyncd

Now execute the svcs command again and also execute ps:

svcs -a | grep rsync

The service should be listed as online now

Now execute:

ps aux | grep rsync

you should see something like this:

root     13351  0.0  0.0 2688 1340 ?        S 02:04:55  0:00 /usr/bin/rsync --d

Note - if you add new modules to /etc/rsyncd.conf you should not have to restart the rsyncd service, as the file is read each time a rsync client connects.

Congrats, your rsyncd should be working now. Test it out from a client machine using a small file for testing with something like:

rsync servername::ISO/some_file.iso /localpath/here/

or just get a list of the files and/or directories by using verbose mode and piping to less

rsync -v servername::ISO | less

Consult the log file referenced in your rsyncd.conf file to see info on file transfers. (In this example /var/adm/rsyncd_upload.log)

Thanks to Marcelo Leal for the rsyncd method file (changed here to point to /usr/bin/rsync) and also for parts of the service manifest.

  • No labels