You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi there,
For years I have stored my Keepass database in D:\users\username\Google Drive as *.kdbx and I have used KPSimpleBackup. This system has worked flawlessly. But one of my supported users recently logged into a PC that they had not been on in a couple of months and the PC had been updated to new version of Windows 10 (May 2020 - 2004). While logging in Windows offered to show the user what was new with this version of Windows but the user just "continued" and started Keepass. When it opened it was to a one step older database. Changes to the database made on another PC were not shown. Fortunately with the backup system the proper database was recovered and all is good. But I wanted to try to figure out what had happened so I checked in at Sourceforge and tried some things including KeeAnywhere. What I don't understand now is how to use KeeAnywhere to maintain two-way sync with a local copy of Keepass database?
I know this sounds confusing and if you could be so kind I'd appreciate your assistance. I offer you this link to the conversation and all the details or you can also read the entire cut/paste stuff below that.
**Cut/Paste VERSION
Keepass 2.46 master file is synced in Google Drive (Backup and Sync) on two PCs (Windows 10 on both PC1 and PC2) and an Android phone using Keepass2Android. Master file is also backed up 10 sets deep via KPSimpleBackup in separate folder on same Google drive but a separate folder. This syncing arrangement has worked flawlessly for several years.
Today, although User2 typically only uses PC2 there was a need to sign on to PC1. As the login to Windows progressed Windows greeted the User2 with the types of screens that comes when Windows has updated its version (i.e., Windows may have said Hello and mentioned it was getting the computer ready but User2 was away from the desk and returned to see Windows was asking about changing some privacy settings and showing the What's New screens). When User2 finished these steps Keepass was started, Master Password was entered, and thne User2 found that the Keepass database was one from an earlier time than the database then currently being used on PC2 and that should have been synced to PC1 as well.
In mid-July 2020 both PC1 and PC2 were updated to Windows 10 2004 (10H1) but User2 had not used PC1 since before the Windows update had been completed.
I am thinking that Keepass selected the master file database on the PC1 local Google Drive (i.e., Backup and Sync). Indeed, upon checking the database on PC2 and the Android Phone all databases were the prior one. By signing out of all Keepass programs/apps on all devices the correct database was located on the backup created by KPSimpleBackup and the newer database was then synced to all devices. All was good!
Except I don't understand quite why/how this happened? I am wondering if the Windows 10 processing of the initial signin by User2 somehow held up the syncing of the local Google file. It is not clear at this point whether Keepass was set to run on Windows startup or if it was started manually after the initial Windows signin. Either way, I would have thought that the Google syncing would have been completed regardless of the startup sequence of Keepass. After this happened Keepass was set to not start when Windows started so it would hopefully allow plenty of time for the Google sync to complete.
I am also wondering if Keepass had been set to run when Windows started would the config file have pointed to the local Google file and somehow loaded a temp or scratch version of the database that turned out to be the older version stored locally?
Would Windows have interfered with the Google sync process since it was an initial signin after a Windows update?
So, even though the immediate problem was resolved (thanks to a good backup by KPSimpleBackup), I'm curious and would appreciate hearing any thoughts or suggestions about why/how this happened and whether I should take any further steps for the future.
Thanks!
Stephen (Webweweave)
I can't see how we can determine what happened on your machines.
KeePass remembers the last database opened. What Windows or your sync has done with that file is not something KeePass can control.
This is one of the reasons we recommend using a local database and syncing to the cloud. The local file is controlled by KeePass and nothing else.
cheers, Paul
Paul, Thanks for your reply. My Keepass database is saved and stored in D:\users\username\Google Drive and there has always been syncing in both directions on all devices. I do not follow what you mean about using a local database. Isn't the D:\ location "local"?
Just for fun I did create a Keepass database in a completely local folder (C:\Users\username\Documents) and then pointed Google Drive at that folder. A copy of the database then appeared on Google Drive but only in the cloud and only in the "Computer" folder. Consequently, nothing synced to the D:\ folder.
So I checked out KeeAnywhere plugin using this new database. It was amusing to me when I discovered that KeeAnywhere essentially duplicated my original sync with Google Drive structure, i.e., my database file was stored in a local Google Drive Folder and synced all the time on all my devices and in the cloud EXCEPT that KeeAnywhere created the local Google Drive in the C:\Users\username\Documents folder where this new database had been stored and the database I was changing did not get synced but the version of it in THAT Google Drive did.
I understand you aren't interested in providing support for Google Drive (can't blame you one bit) but please reply about a) what is a "local" database location and b) does Keepass create a scratch file at any point of opening, modifying, and saving a database?
Many Thanks
Stephen
The text was updated successfully, but these errors were encountered:
"Dropbox will synchronize files between computers, but it can't determine what changes KeePass has made, only that the database has changed. To ensure that KeePass changes are not lost by Dropbox, you need to use a second copy of the database that is just for the Dropbox synchronization. Then use a KeePass trigger to move changes between KeePass and Dropbox."
@Webweweave I wouldn't use KeeAnywhere for this, because you already have a Google Drive sync setup you're obviously very comfortable and familiar with administering. You could use KeeAnywhere instead of the Google Drive app if you want. To automate the Google Drive (D drive) -> local (C drive) sync, you need a second trigger just like the first, except the event would be "opened database file" instead of "saved".
@Kyrodan This is a support issue, not a bug. It can probably be closed too, because it's not really even about KeeAnywhere.
Hi there,
For years I have stored my Keepass database in D:\users\username\Google Drive as *.kdbx and I have used KPSimpleBackup. This system has worked flawlessly. But one of my supported users recently logged into a PC that they had not been on in a couple of months and the PC had been updated to new version of Windows 10 (May 2020 - 2004). While logging in Windows offered to show the user what was new with this version of Windows but the user just "continued" and started Keepass. When it opened it was to a one step older database. Changes to the database made on another PC were not shown. Fortunately with the backup system the proper database was recovered and all is good. But I wanted to try to figure out what had happened so I checked in at Sourceforge and tried some things including KeeAnywhere. What I don't understand now is how to use KeeAnywhere to maintain two-way sync with a local copy of Keepass database?
I know this sounds confusing and if you could be so kind I'd appreciate your assistance. I offer you this link to the conversation and all the details or you can also read the entire cut/paste stuff below that.
Looking forward to your comment back.
https://sourceforge.net/p/keepass/discussion/329220/thread/8a3bce21e3/
**Cut/Paste VERSION
Keepass 2.46 master file is synced in Google Drive (Backup and Sync) on two PCs (Windows 10 on both PC1 and PC2) and an Android phone using Keepass2Android. Master file is also backed up 10 sets deep via KPSimpleBackup in separate folder on same Google drive but a separate folder. This syncing arrangement has worked flawlessly for several years.
Today, although User2 typically only uses PC2 there was a need to sign on to PC1. As the login to Windows progressed Windows greeted the User2 with the types of screens that comes when Windows has updated its version (i.e., Windows may have said Hello and mentioned it was getting the computer ready but User2 was away from the desk and returned to see Windows was asking about changing some privacy settings and showing the What's New screens). When User2 finished these steps Keepass was started, Master Password was entered, and thne User2 found that the Keepass database was one from an earlier time than the database then currently being used on PC2 and that should have been synced to PC1 as well.
In mid-July 2020 both PC1 and PC2 were updated to Windows 10 2004 (10H1) but User2 had not used PC1 since before the Windows update had been completed.
I am thinking that Keepass selected the master file database on the PC1 local Google Drive (i.e., Backup and Sync). Indeed, upon checking the database on PC2 and the Android Phone all databases were the prior one. By signing out of all Keepass programs/apps on all devices the correct database was located on the backup created by KPSimpleBackup and the newer database was then synced to all devices. All was good!
Except I don't understand quite why/how this happened? I am wondering if the Windows 10 processing of the initial signin by User2 somehow held up the syncing of the local Google file. It is not clear at this point whether Keepass was set to run on Windows startup or if it was started manually after the initial Windows signin. Either way, I would have thought that the Google syncing would have been completed regardless of the startup sequence of Keepass. After this happened Keepass was set to not start when Windows started so it would hopefully allow plenty of time for the Google sync to complete.
I am also wondering if Keepass had been set to run when Windows started would the config file have pointed to the local Google file and somehow loaded a temp or scratch version of the database that turned out to be the older version stored locally?
Would Windows have interfered with the Google sync process since it was an initial signin after a Windows update?
So, even though the immediate problem was resolved (thanks to a good backup by KPSimpleBackup), I'm curious and would appreciate hearing any thoughts or suggestions about why/how this happened and whether I should take any further steps for the future.
Thanks!
Stephen (Webweweave)
I can't see how we can determine what happened on your machines.
KeePass remembers the last database opened. What Windows or your sync has done with that file is not something KeePass can control.
This is one of the reasons we recommend using a local database and syncing to the cloud. The local file is controlled by KeePass and nothing else.
cheers, Paul
Paul, Thanks for your reply. My Keepass database is saved and stored in D:\users\username\Google Drive and there has always been syncing in both directions on all devices. I do not follow what you mean about using a local database. Isn't the D:\ location "local"?
Just for fun I did create a Keepass database in a completely local folder (C:\Users\username\Documents) and then pointed Google Drive at that folder. A copy of the database then appeared on Google Drive but only in the cloud and only in the "Computer" folder. Consequently, nothing synced to the D:\ folder.
So I checked out KeeAnywhere plugin using this new database. It was amusing to me when I discovered that KeeAnywhere essentially duplicated my original sync with Google Drive structure, i.e., my database file was stored in a local Google Drive Folder and synced all the time on all my devices and in the cloud EXCEPT that KeeAnywhere created the local Google Drive in the C:\Users\username\Documents folder where this new database had been stored and the database I was changing did not get synced but the version of it in THAT Google Drive did.
I understand you aren't interested in providing support for Google Drive (can't blame you one bit) but please reply about a) what is a "local" database location and b) does Keepass create a scratch file at any point of opening, modifying, and saving a database?
Many Thanks
Stephen
The text was updated successfully, but these errors were encountered: