Lightroom backup/sync catalog with a smb, nfs or afs share

  • 1
  • Idea
  • Updated 7 years ago
Is it planed in further releases, that it possible to sync the catalog with a network share.

I have 2 PC ́s (Desktop & Notebook) and want to use only 1 catalog file.
An other benefit of the feature is the backup function. If something with the harddisk is failed, i dont lose anything.

Possible workflow of the feature:
(If the feature is enabled and a backup path is set)
-when LR is starting, LR checks the local version with the backup version (version= maybe timestamp or anything else)
--if: if backup available and version is newer, sync backup to local file
else: local version is equal/newer as backup, use the local file
-open LR

-if LR close requested, sync local catalog file to backup path
-close LR

This solution does not reduce the performance in the normal using of LR.
It makes only the start/exit of LR slower, when this feature is enabled.

Best regards
Photo of Timo Rieger

Timo Rieger

  • 2 Posts
  • 0 Reply Likes

Posted 7 years ago

  • 1
Photo of Steve Sprengel

Steve Sprengel, Champion

  • 2668 Posts
  • 343 Reply Likes
A flaw in the above scheme would be: What happens if you use LR on the notebook with the notebook disconnected from the network and then use LR on the desktop with the notebook still disconnected from the network? Both LR catalogs would have recent changes that the other wouldn't have and so it wouldn't be valid to copy one catalog over the top of the other.

Assuming that the notebook can be used without being connected to the network and thus is cannot sync anywhere, sometimes, the scheme requires both computers to be attached to the network whenever the desktop computer is using LR so it's able to grab the newer catalog from the notebook and push it back there at the end. Since Adobe cannot control the connectivity of the "other" computer, I don't think they would ever attempt to implement the scheme, since it is unsafe.

There is a way to accomplish what you want using OS-level scripting, that would require manual intervention if you didn't use the desktop with the notebook always connected. It involves renaming the remote catalog (the one on the computer that you're not on at them moment) to keep LR from being used there until you're done.

Here is the logic of what you'd might do in the script of the desktop where I've marked the parts that actually do something other than check for errors with a pair of asterisks:
--before starting LR:
If local-catalog doesn't exist stop with a message that things need to be looked at.
If local-renamed-copy exists then stop with a message that there is a problem.
If remote-catalog exists and is newer, *copy remote-catalog to the local computer*.
If remote-catalog exists and is older, *copy local-catalog to remote computer*.
*rename remote-catalog to have a different extension than .lrcat*.
If remote-renamed-catalog doesn't exist then stop with a message.
if remote-catalog exists (still) then stop with a message.
*start LR*.
--after exiting LR:
if remote-catalog exists then stop with a message that things need to be looked at.
if remote-catalog doesn't exist (because it was renamed above) *copy local-catalog to remote and delete the renamed remote-copy*.
if remote-catalog doesn't exist (because the copy failed) then stop with a problem message.
if renamed-remote copy does exist (because the delete failed) stop with a problem message.

I think that covers everything for the desktop. Because the notebook can be run without being attached to the network and therefore couldn't do anything with the remote catalog, it is the desktop's responsibility to have this os-level script to make sure that the notebook is always connected so things can be synced to and from it and if any of those if-exists fail then that probably means it isn't and the situation needs manual intervention.

The assumption is that the notebook can be used away from the network but the desktop is always used when the notebook is connected. If the scenario is that the notebook and desktop are always connected to the network when either one is used (because the pictures are on the network) then the os-level scripting logic, above, could be used on both LR's.

If you are imagining using the desktop computer without the notebook connected to the network, sometimes, then there is no way for the script to know that both catalogs aren't updated while the other computer isn't attached to the network so you'll have to keep track of this, yourself.
Photo of Timo Rieger

Timo Rieger

  • 2 Posts
  • 0 Reply Likes
Hi Steve,

thanks for your quick and long answer. :)

I think you are right. A OS-script is the best way to solve my problem quickly.

Best regards