Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre

Notices

Reply
 
Thread Tools Search this Thread
Old 08-29-2014, 08:22 AM   #1
asdfasdf
Junior Member
asdfasdf began at the beginning.
 
Posts: 4
Karma: 10
Join Date: Aug 2014
Device: none
Sharing Calibre library - Bittorrent Sync?

Hi,

My Calibre library is stored on my Win7 desktop. Calibre is installed on the C:\Program Files directory in the normal way (non-portable) and the library itself is on my D: drive.

This first machine is what I use to add/delete books, fix covers etc.

I would like to share/sync the library to another Win7 laptop. I want this second machine to simply be able to browse an up-to-date version of the library without requiring any user intervention (the user of this 2nd machine is non-technical and finds managing and updating the Calibre library extremely confusing). They won't need to delete books or fix metadata, I will do this fromt he first machine.

Is this possible? I was thinking of sharing both the library folder and the database file with Bittorrent Sync via Read-Only mode...

I searched the forums about sharing libraries but I read lots of warnings about the database becoming corrupted ?

Using the built in content server is not an option because I don't want Calibre running 24/7.

Thanks for any suggestions
asdfasdf is offline   Reply With Quote
Old 08-29-2014, 10:56 AM   #2
hidden.platypus
Connoisseur
hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.
 
hidden.platypus's Avatar
 
Posts: 89
Karma: 190508
Join Date: May 2014
Device: Android
Hmm.

I have a similar issue. Except Calibre runs automatically and 24/7 on the second machine. That way the rest of the family can download books to their devices without disturbing me, or my main machine.

Hadn't thought about using BTSync. What I was doing before was to use FreeFileSync and synchronize the libraries twice a week.
I learned early that I shouldn't sync the database file, otherwise the person on the second machine would open the book to the page I last read, not to the page they last read.
hidden.platypus is offline   Reply With Quote
Advert
Old 08-29-2014, 11:13 AM   #3
eschwartz
Ex-Helpdesk Junkie
eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.eschwartz ought to be getting tired of karma fortunes by now.
 
eschwartz's Avatar
 
Posts: 19,421
Karma: 85400180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
There are two probems with sharing the library folder (regardless of method):
  • Do not run the sync program while calibre is running, or you will inevitably suffer conflicts when obsolete files are preserved, or changes are reverted, since the two cannot agree on what files were there.
  • Always sync fully before and after using calibre. Do not ever open calibre with a non-updated library, or you will end up with two slightly different libraries, or conflicted copies or the library. Alternatively, if using filesync programs instead of cloud storage, you can use a one-way sync from the canonical library to backup/mirrored libraries (so it's all right if they are out of date, as they won't "update" the true library.)
For Bittorrent Sync, if you can set it so only one computer can update the torrent you should be golden.
eschwartz is offline   Reply With Quote
Old 08-30-2014, 06:35 AM   #4
asdfasdf
Junior Member
asdfasdf began at the beginning.
 
Posts: 4
Karma: 10
Join Date: Aug 2014
Device: none
Quote:
Originally Posted by hidden.platypus View Post
Hmm.

I have a similar issue. Except Calibre runs automatically and 24/7 on the second machine. That way the rest of the family can download books to their devices without disturbing me, or my main machine.

Hadn't thought about using BTSync. What I was doing before was to use FreeFileSync and synchronize the libraries twice a week.
I learned early that I shouldn't sync the database file, otherwise the person on the second machine would open the book to the page I last read, not to the page they last read.
I am not really too fussed about this problem - nobody in my scenario uses calibre to actually read books from start to finish, just to browse and pick out new ones. So keeping track of the last page read isn't important for me.

I have reached another stumbling block unfortunately. BT Sync seemed ideal initially but the more I investigate it, the less suitable it seems.

It is possible to do a read only sync, so peer changes cannot muck up the library or database on the seed computer. However I have discovered that if the peers modify any files locally, then BTSync stops syncing those files on the peer machine.

My understanding is that Calibre modifies the db every time it is opened so obviously it's not going to be possible to keep the peer databases sync'd to the seed db.
asdfasdf is offline   Reply With Quote
Old 08-30-2014, 08:34 AM   #5
hidden.platypus
Connoisseur
hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.hidden.platypus can program the VCR without an owner's manual.
 
hidden.platypus's Avatar
 
Posts: 89
Karma: 190508
Join Date: May 2014
Device: Android
Quote:
Originally Posted by asdfasdf View Post
I have reached another stumbling block unfortunately. BT Sync seemed ideal initially but the more I investigate it, the less suitable it seems.

It is possible to do a read only sync, so peer changes cannot muck up the library or database on the seed computer. However I have discovered that if the peers modify any files locally, then BTSync stops syncing those files on the peer machine.

My understanding is that Calibre modifies the db every time it is opened so obviously it's not going to be possible to keep the peer databases sync'd to the seed db.
I'm going to try to replicate that that. And I'll report back.
Perhaps you want to try FreeFileSync. You can set it up to do Mirror Mode syncing so it will force the peer computer to have the exact same directory structure as the seed computer.

http://freefilesync.sourceforge.net/

It has an automatic syncing option, and it works over a network. (That's how I synced my library this morning). It even allows you to set up file versioning. You can specify a folder where files it deletes get placed, so you don't have to worry about losing your files.
hidden.platypus is offline   Reply With Quote
Advert
Old 08-30-2014, 01:12 PM   #6
asdfasdf
Junior Member
asdfasdf began at the beginning.
 
Posts: 4
Karma: 10
Join Date: Aug 2014
Device: none
Quote:
Originally Posted by hidden.platypus View Post
I'm going to try to replicate that that. And I'll report back.
Perhaps you want to try FreeFileSync. You can set it up to do Mirror Mode syncing so it will force the peer computer to have the exact same directory structure as the seed computer.

http://freefilesync.sourceforge.net/

It has an automatic syncing option, and it works over a network. (That's how I synced my library this morning). It even allows you to set up file versioning. You can specify a folder where files it deletes get placed, so you don't have to worry about losing your files.
That's exactly what im looking for. I will try it later, thanks.

The issue with BTSync seems to be a known limitation. One of the devs said they plan to implement it (force sync no - matter what file changes the peer makes it automatically gets resync'd to be the same as the main seed). But there is no ETA that I can see.

Thanks again
asdfasdf is offline   Reply With Quote
Old 09-20-2014, 01:29 PM   #7
asdfasdf
Junior Member
asdfasdf began at the beginning.
 
Posts: 4
Karma: 10
Join Date: Aug 2014
Device: none
Quote:
Originally Posted by asdfasdf View Post

The issue with BTSync seems to be a known limitation. One of the devs said they plan to implement it (force sync no - matter what file changes the peer makes it automatically gets resync'd to be the same as the main seed). But there is no ETA that I can see.
This seems to be implemented now with the latest version of BTSync. There is an option called 'overwrite changed files'. So it doesn't matter what my client peer/machines do, their Calibre library and db is always sync'd back to the main seed.

It is working very well now, fingers crossed. The other users in my household can browse my calibre library and copy books to their devices, their library always stays up to date and the db never gets screwed up.
asdfasdf is offline   Reply With Quote
Old 09-20-2014, 08:14 PM   #8
saoir
Groupie
saoir ought to be getting tired of karma fortunes by now.saoir ought to be getting tired of karma fortunes by now.saoir ought to be getting tired of karma fortunes by now.saoir ought to be getting tired of karma fortunes by now.saoir ought to be getting tired of karma fortunes by now.saoir ought to be getting tired of karma fortunes by now.saoir ought to be getting tired of karma fortunes by now.saoir ought to be getting tired of karma fortunes by now.saoir ought to be getting tired of karma fortunes by now.saoir ought to be getting tired of karma fortunes by now.saoir ought to be getting tired of karma fortunes by now.
 
saoir's Avatar
 
Posts: 188
Karma: 2088290
Join Date: Jan 2009
Location: Ireland
Device: Kindle Paperwhite
I keep my Calibre Library on Dropbox. I can access any book from any device.
saoir is offline   Reply With Quote
Old 09-21-2014, 05:17 AM   #9
Adoby
Handy Elephant
Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.
 
Adoby's Avatar
 
Posts: 1,737
Karma: 26785684
Join Date: Dec 2009
Location: Southern Sweden, far out in the quiet woods
Device: Samsung Galaxy Tab S8 Ultra
One easy way to avoid any problems is to not share the "live" library, but a local backup copy instead.

You can write a script that automatically makes a backup copy of the library every time you exit calibre, just modify the script that starts calibre, or create a new one. If the backup is done using a sync utility to a local filesystem, the backup copy can be updated in a few seconds, and will hardly be noticed. And the backup copy can then be shared safely and freely over the network.

The remote computer should do this in reverse. Update a local copy of the calibre library from the shared backup copy of the other computer. This can be done using a script that both update the local library from the shared copy, and starts calibre. You might even be able to add some tests so the script only attempts to update the local copy if the shared backup copy is available. That way you ensure that you automatically have the most resent copy of the library on the remote computer.

This means that the library is safely and efficiently replicated from the first main computer. It also means that any modifications made on the second computer will be lost.

I don't use Windows, so I can't suggest how you should write these scripts. But if you google "check if network folder exists windows batch" you should get some ideas. Likewise there are plenty of sync utilities.

I use rsync in Linux to automatically make a backup of my calibre libraries every time I exit calibre. Rsync makes it possible to make full backups, but link to an earlier copy of the files that haven't changed, instead of copying them. So it provides what looks like separate new full backups at almost the same speed as a sync utility can update a single backup copy.
Adoby is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
BitTorrent Sync eureka Kindle Developer's Corner 13 01-02-2014 05:08 PM
Bittorrent Sync in Kindle Paperwhite barba Kindle Developer's Corner 5 12-13-2013 11:49 AM
BitTorrent Sync AcidWeb Kindle Developer's Corner 1 08-02-2013 07:27 PM
Sharing/Moving Calibre Library to 2nd PC ereader22 Library Management 4 11-26-2012 06:54 PM
Sharing my calibre library yasmeen57 Calibre 22 10-28-2009 04:35 PM


All times are GMT -4. The time now is 05:24 AM.


MobileRead.com is a privately owned, operated and funded community.