Given that tar ignored my 2 sockets, how do I backup and then restore my login folder?
I did a network backup of my login area in preparation for reformatting the volume in which it resides to make it bootable on my old Power Mac G5 running the very latest release of Leopard.
Though I don't believe this symptom is a function of the actual tar
invocation, here is the actual command for completeness:
bill@r2d2-2:~
[108] (sudo tar cf - -C /Volumes/usr1 Users) | gzip -c - | ssh whmcclos@mbp \
'cat > /Volumes/link2TMS/r2d2_usr1_Users.tar.gz'
tar: Users/bill/Library/Acrobat User Data/8.0_ppc/Synchronizer/Commands: socket ignored
tar: Users/bill/Library/Acrobat User Data/8.0_ppc/Synchronizer/Notification: socket ignored
Here are the two socket files which tar
is ignoring
bill@r2d2:~/Library/Acrobat User Data/8.0_ppc/Synchronizer
[11] ls -larhdt *
drwx------ 3 bill staff 102B Jun 4 2010 metadata
-rw-r--r-- 1 bill staff 0B Jan 20 13:05 adobesynchronizersu80
srwxr-xr-x 1 bill staff 0B Jan 20 13:05 Notification
srwxr-xr-x 1 bill staff 0B Jan 20 13:05 Commands
Haven't worked with creating sockets in a few years, and I'll know what to do once I get a hint. As the Title says, how do I backup and then restore these files given that tar
has ignored them?
You don't.
Unix local sockets are created as soon as a program attempts to listen on the given path for connections, and despite being a type of file they only act as pointers to in-memory structures; so they are useful only as long as the program is still running (and only within the same machine; no NFS or anything such).
After the program exits, the socket file is no longer useful (and is normally deleted by the program itself); in fact, if the program gets restarted, it has to delete the old socket before listening on the same path – otherwise it would receive an "Address already in use" (the same as if two programs were trying to take the same TCP port).
This is somewhat different from named pipes (aka fifos), which work in a much simpler way (one process writes, one process reads) and therefore are reusable; a named pipe can be created using the mkfifo
or mknod p …
commands.