I have one Lightroom database for my photographs, but multiple computers. Of course I want be able to edit my photos on every computer. The obvious solution is to put the catalog on a network share. But the catalog is a sqlite-Database which is build to be accessed by one process only. Because of this, Lightroom forbids to use a catalog that is located on a network share.
My solution is to rsync the catalog before Lightroom starts and sync it back, when the process terminates. To avoid conflicts, I create a lockfile during the runtime of Lightroom. Not very fancy, but this works well for me.
#!/bin/sh if [ -f /Volumes/Pictures/Lightroom/lockfile ]; then echo "Catalog is locked by" cat /Volumes/Pictures/Lightroom/lockfile exit 1 fi echo `hostname` > /Volumes/Pictures/Lightroom/lockfile rsync user@server.local:/zdata/Pictures/Lightroom/Lightroom-4-Catalog.lrcat /Users/$USER/Pictures/Lightroom/Lightroom-4-Catalog.lrcat && \ open -W -a "Adobe Photoshop Lightroom 4" --args /Users/$USER/Pictures/Lightroom/Lightroom-4-Catalog.lrcat && \ rsync /Users/$USER/Pictures/Lightroom/Lightroom-4-Catalog.lrcat user@server.local:/zdata/Pictures/Lightroom/Lightroom-4-Catalog.lrcat && \ rm /Volumes/Pictures/Lightroom/lockfile |