See also this video (which is about installing rather than migrating):
This is double, isn’t it?
I was going to ask: what exactly does --no-hosted-server
do, but diligent a user that I am I first tried to find the answer myself and found it here:
--no-hosted-server
to instructs Duplicati.GUI.TrayIcon.exe
that it should not start the server itself, but connect to an already running instance.
In any case, your instructions worked perfectly for me. Thanks for putting them together. Probably saved me tons of time!
The only two points where I had to think twice was in step 2 where I initially wondered: “move what from src to dst?” And the other one was in step 7 where I wondered whether the attribute should be inside or outside the ""
, but I tried outside and it seems to work fine.
Glad it worked for you!
And thanks for the tips - I’ve removed the duplicate step and tried to add some clarification to steps 2 and 3.
I have a feeling step 2 may get a little more complicated as I think there might be yet another potential location where the files could be, but I haven’t confirmed it yet (it might only be used in the latest canary).
Is it normal that duplicati still creates .sqlite
and .backup
files in C:\Users\Username\AppData\Roaming\Duplicati
even when I switched to service? Cause that is what I’m seeing right now.
I haven’t checked that yet but I suspect it might be “normal” if not “desired”.
If you look at “Advanced options” on the “Commandline…” page does your dbpath
setting show the tray based or service based location?
Well spotted! It’s still the old path there. I suppose changing that path should be step 3 of the tutorial?
Erm, well - I tried that but in my testing it didn’t “take”. For what I was doing it didn’t cause me any issues so just ignored it.
Here’s what was said about it in a few other topics…
Okay, I see. I guess this one is quite relevant:
Which explains why
But, in if the database path stays the same after moving to duplicati as a service, why are you telling people to move the database?
Good question - I put it in there because that’s where the database landed for me on a straight up service install, so rather than having a half-here-half-there setup I was hope to replicate what would have happened if they installed as a service from the start.
Secondarily, leaving the dbpath under a particular user’s account MIGHT end up running into permissions issues depending what credentials the service ends up running under.
But it is perfectly valid to leave the “Duplicati” folder where it is and add the appropriate parameter (I think there is one but I forget what it is) to the service startup so that it knows where to find the dbconfig.json and .sqlite files.
My first install I did a normal install and later converted it to a service (running as SYSTEM). I had to move the .sqlite database files manually from under my user profile AppData directory to C:\Windows\System32\config\systemprofile\AppData\Local\Duplicati. Starting up without moving the config database acted like a clean install with zero knowledge of my existing settings or backup jobs.
Since then I’ve just been installing as a service initially without performing a normal install first.
I personally would prefer Duplicati to use c:\ProgramData\Duplicati when running as a service instead of …systemprofile\AppData. It seems a little cleaner in my mind and more in line with what I see most applications doing, but it doesn’t really matter. I could always move it if it really bugged me
I haven’t tested this yet but I believe if you add --protable-mode
to the service startup parameters it will indeed use the folder you mentioned.
--portable-mode
stores all settings, backup configurations and local databases in a folder Data, located under the program folder.
If Duplicati is installed in C:\Program Files\Duplicati 2, --portable-mode
will store everything in C:\Program Files\Duplicati 2\Data.
There’s a discussion about something similar here:
You can set the environment variable DUPLICATI_HOME=C:\ProgramData\Duplicati
and it will stop using %LOCALAPPDATA%Duplicati
.
Thanks for a great migration guide. Unfortunately I’m stuck with the same error as @tophee is describing.
Is there a way to migrate my backup-db to the “systemprofile”-folder, so that I don’t have to start my backup over again?
Sure, but I’m not sure which error (“remote files” or “missing database”) you mean when you say you have the same error as tophee.
Sorry for not being more precise.
I get the “Found xx remote files that are not recorded, please run repair” error, because the backup-job database is not moved. So instead of reading the sqlite file per backup-job from “systemprofile”-folder, it continues to read from my local user folder instead. (And when I moved the sqlite-files, it recreates empty ones.)
So my question is what steps are necessary to migrate the backup-sqlite files?
Thanks!
Got it!
You options at this point include:
- Run the repair which will rebuild the database based on what’s in those “xx remote files” (though this can take a while depending on your backup size)
- Point your service job to the existing database location (not recommended as it could be lead to confusion as to what’s stored where)
- Move (or copy) the existing database to the new location and point the service job to it
- Move (or copy) the existing database to the new location and rename it to match what the service job is already looking for
For 2-3 you’d want to use the job “Database …” menu. In there you can put the actual path to your database in the the “Local database path” field.
Most likely, the folder you want the database to live in will be:
C:\Windows\System32\config\systemprofile\AppData\Local\Duplicati
(unless you’re using the portable mode parameter)
Thanks a bunch! The “Database…” menu was exactly what I was missing. It also allowed me to move the database.
So maybe I could suggest an update in the migration guide, to move all the backup database-files with the “Move existing database” button? It did at least do the trick for me.
Thank you for your help!
Good idea! I went ahead and made the first post a Wiki so feel free to update it based on your own recent experience!
For me this didn’t work. Duplicati re-created the DB in the original user folder and then threw some error that it cannot be renamed. Moving everything BUT the sqlite file seems to work.