Jeffrey West gave a recipe for OSX backup but I wanted to try a
less complicated procedure without secrets or keys. And I've
conquered it, to the best of my knowledge. However, on the OSX
machine, I am concerned that this command seems to show four
instances of the rsyncd daemon listening? Or am I overconcerned?
sudo launchctl list on the OSX machine shows the daemon but
without a PID. I don't know what a "status" of 0 means, either:
Here is my install and setup procedure for rsyncd on OSX without
secrets or keys:
1)
On the OSX
machine you need to:
rsync --version
before running the daemon
My previous backuppc failure was due to an outdated version of
rsync on the OSX machine. If it's older than version 3 you need
to install a new rsync on OSX (see below). If you accidentily
ran the daemon with the old rsync, Kill the process. I also
deleted the old rsync binary, but there's no guarantee Apple
won't re-create it with a revision to OSX.
2) Create a new rsyncd.conf file. I put it into
/usr/local/etc/rsyncd.conf because that's where the new rsync
install seemed to want to put it.
My rsyncd.conf file does NOT include a "secrets" line. Here it is
with comments:
#######################################################################
##
## RSYNCD config file for OSX
##
#######################################################################
gid = users
read _only_ = false
# false will allow backuppc to restore files to the Mac
transfer logging = false
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
## host allow: this is important.
## In my case leaving the subnet-mask leads to a failure,
## so I only provide the IP.
hosts allow = 192.168.0.217
## Now you have to declare, in brackets, the RSYNC 'module', or
"share name" as it is called within backuppc
[Backup-Data-Folder]
## Next, set the path you want backed up. Be sure to use a
trailing slash
path = /Users/bobkatz/
read only = no
list = yes
## the easiest way is to use the root user
## This user has "ROOT"-privileges, so he can save files.
uid = root
gid = nogroup
# if you need to back up a different path, make an additional
module like the above and call an additional share name within
backuppc. One share name is required per each declared path!!!!
3) On the OSX machine in terminal type:
rsync --version
If it's before version 3, do:
which rsync
I deleted the old rsync. No guarantee OSX won't recreate the
outdated rsync with an OS update, however.
4) Install a new rsync. You will need an OSX-compatible
package installer. That will be 'homebrew'. If the
brew
command does not work, then install homebrew:
ruby -e "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)"
Then, install rsync with homebrew:
brew install rsync
Where is this new rsync installed? In terminal:
which rsync
If it finds it, then type:
rsync --version
to confirm you have the right one, which should be version 3+.
However, OSX may take time to find the new one. I believe I kept
on hammering 'which rsync' in terminal until it found it.
6) But in case it doesn't find the new rsync, find out the
paths:
echo $PATH
If the new rsync installer put it into one of these paths it
should run, but it took a few tries of my running
rsync --version for the system to find the newly-installed rsync.
The top path was actually the one where the new rsync was
installed so it makes little sense why the system didn't find it
at first, but eventually it did.
Then, finally, run:
sudo rsync --daemon
7) Now you can go to backuppc, configure the new client
and start a backup.
8) Once you are happy, you need to configure the daemon to run
each time at startup. OSX does NOT use cron or inet.d so you
have to make a plist file. You can try changing the locations in
the following plist to the standard locations for rsync, but I
followed the lead of this new rsync install and where it wanted to
put things. The new rsync install used some symlinks so I advise
checking that each of your elements corresponds with or links to
the locations in the plist. This did work for me:
To launch rsyncd, The
following plist (property list) file is
installed as owner root into /Library/LaunchDaemons/org.samba.rsync.plist.
sudo touch
org.samba.rsync.plist
-rw-r--r-- 1
root wheel 0 May 30 20:50 org.samba.rsync.plist
I gave it 644
permissions. On OSX it's easiest to edit with the free
'textwrangler'.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<false/>
<key>Label</key>
<string>org.samba.rsync</string>
<key>Program</key>
<string>/usr/bin/rsync</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/rsync</string>
<string>--daemon</string>
<string>--config=/usr/local/etc/rsyncd.conf</string>
</array>
<key>inetdCompatibility</key>
<dict>
<key>Wait</key>
<false/>
</dict>
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockServiceName</key>
<string>rsync</string>
<key>SockType</key>
<string>stream</string>
</dict>
</dict>
</dict>
</plist>
|
Then restart the Mac and ensure you can back it up.
Regards,
Bob
--
If you want good sound on your album, come to
Bob Katz 407-831-0233 DIGITAL DOMAIN MASTERING STUDIO
Author: Mastering Audio
Digital Domain Website
No trees were killed in the sending of this message. However a large number
of electrons were terribly inconvenienced.