KeePass & DropBox

Help
SirTom
2014-06-02
2014-06-02
  • SirTom
    SirTom
    2014-06-02

    I'm using KeePass via DropBox, including my mobile.

    So when I add/change an entry it's automatically synced on all computers.

    But there are 2 questions:

    1) If there is only 1 database in my DropBox folder:

    So what's all about this syncing?

    When could I need it?

    2) As I keep my Computer always running the db is always opened (Of course
    surface is mostly locked)

    But when I sometimes have to add an entry my mobile can't write, as the file
    is opened.

    And DropBox makes a copy to save data.

    So I happen to get a "KeePass(in collision with UserName).kdbx".

    Is this a point I should handle with "sync"?

    What can I do better?

    Besides: Is there a log / a way to see the last changed/added entries in a
    kdbx, so I could manually update the original?

    Greets

    Tom

     
    Attachments
  • develop1
    develop1
    2014-06-02

    here is the nightmare situation:
    two computers each open the same .kdbx file name that filename is on dropbox.

    Each computer opens the file,
    computer A creates record "A".
    computer B creates record "B".
    each then saves their changes and closes their .kdbx and goes to lunch.

    now dropbox does its thing and trys to deploy the most recent file to all computers.
    the file has changed differently but there can be only one winner. so whichever one is microsecondly more current will be the winner and pushed everywhere.

    you user "A" and user "B" come back from lunch and open their .kdbx

    someone is going to upset. as .kdbx will NOT contain both "A" and "B" the only thing drop box can do is one of:
    either
    record "A" will be in both places
    or record "B" will be in both places
    or dropbox did not deploy anything and "A" has its file and "B" has its and neither ever sees the other.

    Not matter what someone is going to be unhappy.
    someone is going to to have their data entry lost
    or both parties will feel dropbox is not doing its thing and and getting changes over to all parites. Either way this is a bad situation.

    the typical solution:
    computer "A" uses a .kdbx called "A" and is the ONLY computer every to open read/write file "A"
    computer "B" uses a .kdbx called "B" and is the ONLY computer every to open read/write file "B"

    files "A" and "B" might be on dropbox but thats essentially for crash/backup protection.

    both "A" and "B" have database "open" triggers which perform a two way record level sync with file "C". Its file "C" which MUST be on dropbox.

    What this means is:
    every time "A" opens his .kdbx keepass will merge all new records from "C" into "A" and all new records in "A" will go into "C".
    Dropbox will do its thing and deploy the revised file "C" everywhere.

    same thing for computer "B".
    every time "B" opens his .kdbx keepass will merge all new records from "C" into "B" and all new records in "B" will go into "C".
    Dropbox will do its thing and deploy the revised file "C" everywhere.

    In the above configuration dropbox will never ever overwrite file A on computer A
    nor overwrite file "B" on computer "B".
    The reason why of course is the only computer which ever does change to file on "A" on compuer "A" is computer "A". same can be said for "B".

    It is file "C" which gets moved around by drop box.
    "A" and "B" simply sync with it.

    "A" and "B" never are at risk for losing their data.
    The most risk that is endured is "A"/"B" might have to open/close thier respecitive .kdbx a few times to allow sync with file "C" and let dropbox move the file to other computer so the that PC can open/close their .kdbx and sync with "C".
    Eventually the files A/B/C will become 100% mataches to each other on all computers.

     
    Last edit: develop1 2014-06-02
  • wellread1
    wellread1
    2014-06-02

    See the recommended Dropbox sync trigger.

     
  • Paul
    Paul
    2014-06-02

    Your mobile should always be able to write, even if the file is open on the other computer. KeePass does not use any locking to prevent others using the file.
    Note: Only KeePass.exe performs a true sync, 3rd party ports do not and you need to use KeePass.exe to sync all other versions.

    If you have Dropbox conflicted copies ("KeePass(in collision with UserName).kdbx") you need to sync with the conflicted copy to add any missing data to your database.

    cheers, Paul