I don't know about any good network file systems other than the few you
have listed, but, have you considered that this kind of functionality
isn't really what the nfs should be doing? Usually, this stuff relies
on a set of tools that use nfs as a transport method. My only
suggestion would be to use automount, which will auto unmount should the
detination become unavailable, then run something that will occationally
check for the sync destination to exist, and run a sync at a time
interval you specify, on laptop resume, etc etc.
I've attached a script that I wrote to check for the presence of my PDA
on the usb port. Perhaps you can modify it to fit your needs. Cron it,
whatever. It does, if I remember correctly, loop every 5 sec, so that
will most likely need to be adjusted.
If you come up with any solutions, I'd be pleased to hear:) I currently
just backup my laptop by tar.gzing the home folder once every couple
weeks, but I'd like to have it automated every time I plug in;)
Paul K. Dickson
On Wed, 2003-07-30 at 22:19, Jens Mayer wrote:
> Hi folks,
>
> beeing tired of synchronizing configfiles, browser's bookmarks
> and several other folders between various boxes in my LAN I came
> up with the idea to store my homedirectory remotely on my fileserver
> (a quite powerful Debian Woody box, XFS filesystem, recent kernel).
>
> So far, so good. If I had only desktops in my LAN, this wouldn't be
> much of a problem, perhaps Sun's NFS would be the choice (easy to set
> up, security concerns are not that important in my private LAN), or
> Samba, as I have experience with both of those two filesystems.
>
> But having a laptop I do pretty much work on I need something that
> allows "disconnected operation", that is: Caching the files accessed
> while network is unavailable and even having some files cached
> "sticky", like .dotfiles and similar stuff. This is important
> so I can work with the laptop if I'm not at home.
>
> After reconnection to the server, things should be synchronized again.
>
> Filesystems that come in mind to offer that functionality are
> Coda[1] and Intermezzo[2]. All in all they seem to be pretty
> "experimental", maybe Coda a bit less than Intermezzo. I'm
> not really sure how intensely these FS are developed: Intermezzo's
> last "News" entry on the homepage is dated over a year ago. Some
> folks on usenet say Coda is kinda "dead" since the developers
> itself think it's "overloaded" with features.
>
> OpenAFS[3] seems to have some sort of "disconnected operation"
> feature in it's TODO-list[4], but I haven't found much about
> this.
>
> I don't want to start a flamewar about NFS, AFS or other
> network filesystems. If anyone here has some experience
> with Coda or Intermezzo (or another NFS that could suit
> my needs), I'd like to hear. Bad news and good news.
>
> Mainly, there are two Gentoo Linux Clients I want to
> serve. I also have some SGI Indigos running IRIX and
> one NeXTstation running OpenSTEP, but I do not expect
> them to run any actual NFS.
>
> TIA,
> Jens
>
> Footnotes:
> ----------
> [1] http://www.coda.cs.cmu.edu/
> [2] http://www.inter-mezzo.org/
> [3] http://www.openafs.org/
> [4] http://www.openafs.org/frameless/projects.html
#!/bin/bash
# Test for PDA's presense and launch gpilotd if PDA exists. Repeat every 5 sec.
# & don't relaunch or kill gpilotd, untill the pda has disconnected/stoped syncing.
# *NOTE* this script requires 'pgrep' to function correctly.
usbdev="/dev/usb/tts/1"
keepgoing=1
while [ $keepgoing -gt 0 ] #keep the script going like a deamon baby!
do
pilotdrun=`pgrep gpilotd` # get gpilotd proc ID if running
if [ -z $pilotdrun ] # check if gpilotd isn't running, else, kill it.
then
filler=1
else
killall gpilotd
fi
sleep 5 # cause script to wait 5 sec before checking for the USB device.
if [ -e $usbdev ] # does the palm exist
then
palmsyncing=1 # set the palm syncing status to 'true/yes/on/1'
gnome-terminal -x gpilotd & #palm did exist, sync up in a separate window for status baby!
while [ $palmsyncing -gt 0 ] #keep loop active until palm doesn't exist so gpilotd won't be killed.
do
if [ -e $usbdev ] #test to see if palm exists/is done syncing
then
sleep 1
else
palmsyncing=0 # USB palm device test failed, syncing must be done, set status to 0
# to exit status loop
fi
done
fi
done
exit
--
[EMAIL PROTECTED] mailing list