Tag backup af n8n – workflow-eksporten mangler din krypteringsnøgle

|Forfatter: QUASA's redaktion|5 min. læsning| 1
Tag backup af n8n – workflow-eksporten mangler din krypteringsnøgle

Vil du kunne gendanne en selvhostet n8n-instans efter en serverfejl eller en mislykket opdatering, skal din backup omfatte databasen, brugermappen .n8n og den oprindelige krypteringsnøgle. n8n’s vejledning om fuld backup forklarer, at workflow-eksporter ikke indeholder brugere, instansindstillinger eller nøglen til at dekryptere gemte credentials.

Skal du kun flytte udvalgte workflows til en fungerende instans, kan du eksportere dem med n8n CLI og forbinde dem med credentials på destinationen. Det er et andet spor end at genskabe hele installationen. En backup er først brugbar til katastrofegendannelse, når du har prøvet at starte en kopi og bruge et gendannet credential.

Hvad skal din backup kunne genskabe?

En workflow-fil beskriver noder, forbindelser og indstillinger for automatiseringen. Den indeholder ikke i sig selv de krypterede credential-værdier, som noderne bruger. En særskilt eksport af krypterede credentials løser heller ikke problemet, hvis krypteringsnøglen er gået tabt. Derfor skal du beslutte, om målet er at flytte automatiseringer eller at få den tidligere instans tilbage med brugere, indstillinger og data.

Find først ud af, hvor din installation gemmer sine data. Standarddatabasen er SQLite, hvor databasefilen ligger i .n8n-mappen. Bruger du PostgreSQL, skal databasen sikkerhedskopieres særskilt, mens .n8n-mappen stadig skal med. Notér også placeringen af eventuelle binære data, eksekveringsdata og egne noder samt de miljøvariabler, der forbinder installationen med database og ekstern lagring. Det er de konkrete placeringer, backupjobbet skal dække.

Flyt workflows med n8n CLI

En n8n-pakke flytter workflows og credential-referencer, men ikke selve credential-hemmelighederne.

Til planlagt flytning mellem kørende instanser anbefaler n8n’s oversigt over eksport og import den nyere n8n CLI. Dens portable .n8np-pakker er i Preview og kan ændre sig; udfasning af de ældre Server CLI-kommandoer til import og eksport er planlagt, men har ingen fast dato. n8n CLI bruger netværksadgang og en API-nøgle med de nødvendige rettigheder.

  1. Find ID’et på det workflow eller projekt, du vil flytte, og kontrollér, at n8n CLI er forbundet med kildeinstansen.
  2. Eksportér et workflow med n8n-cli package export --workflow-id=<workflow-id> --output=flytning.n8np. Brug --project-id i stedet, hvis pakken skal omfatte et helt projekt.
  3. Forbind CLI’en med mål-instansen, og importér workflow-pakken med n8n-cli package import --file=flytning.n8np --workflow-conflict-policy=fail. Denne konfliktpolitik afbryder importen, hvis et workflow allerede findes på målet.
  4. Gennemgå de importerede workflows, deres afhængigheder og deres credential-referencer, før du sætter dem i drift.

En pakke kan medtage mapper, projekter og referencer, men beskrivelsen af pakkeformatet fastslår, at credential-data ikke eksporteres. Mål-instansen skal levere brugbare credentials. Hvis et workflow bruger en datatabel, kan pakken medtage tabellens struktur, men ikke dens rækker. En vellykket import viser derfor, at pakken kunne indlæses; den viser ikke alene, at automatiseringen kan udføre sit arbejde.

Gem database, brugermappe og nøgle

Ved fuld gendannelse er .n8n-mappen afgørende. Den indeholder normalt config-filen med krypteringsnøglen og, når du bruger SQLite, også databasefilen. I en Docker-installation skal mappen ligge i et vedvarende volume monteret på /home/node/.n8n. Kontrollér, at din backup faktisk kopierer indholdet af dette volume; filer gemt andre steder inde i containeren kan forsvinde, når den genskabes.

Stop n8n, før du kopierer en SQLite-baseret .n8n-mappe. Hvis tjenesten skal fortsætte under kopieringen, skal du i stedet bruge en metode, der tager et konsistent snapshot af databasen. Med PostgreSQL tager du backup med databaseværktøjer og kopierer også .n8n-mappen. Har du selv sat N8N_ENCRYPTION_KEY, skal den oprindelige værdi bevares sikkert sammen med oplysningerne om, hvordan den sættes ved gendannelse.

Medtag data på særskilte filstier eller i ekstern lagring, hvis din installation bruger dem, og kopiér mapper med egne noder. Gem en beskyttet kopi uden for den server, du vil kunne miste. Databasebackup og krypteringsnøgle skal behandles som fortrolige oplysninger: tilsammen kan de give adgang til de gemte forbindelser.

Gendan i den rigtige rækkefølge

Prøv gendannelsen i et isoleret miljø med en kopi af backupfilerne. Stop n8n på målmiljøet, og læg .n8n-mappen tilbage på den placering, installationen forventer. Bruger du PostgreSQL, genskaber du også databasen fra dens backup. Læg egne noder og øvrige lagrede data tilbage, før tjenesten startes.

Genskab derefter miljøvariablerne for databaseforbindelse og lagring samt den samme N8N_ENCRYPTION_KEY, hvis kilden brugte en særskilt nøgle. Start først n8n, når data og konfiguration passer sammen. En instans kan godt vise gendannede workflows, selv om den ikke kan dekryptere deres credentials; synlige workflows er derfor ikke en tilstrækkelig restore-kontrol.

Har du kun separate JSON-eksporter fra Server CLI, kan du importere workflows og krypterede credentials til en fungerende instans. På en ny instans skal ejeren oprettes først, og importen af credentials kræver stadig den oprindelige nøgle. Hold eksportfiler for workflows og credentials i hver sin mappe ved import med separate filer. Denne fremgangsmåde genskaber ikke i sig selv tidligere brugere, roller eller eksekveringshistorik.

Bevis, at et credential virker efter gendannelse

Et gendannet n8n-workflow bruger sit gemte credential til en kontrolleret læsehandling.

Kontrollér først, at kendte workflows, brugere og indstillinger findes i testinstansen, og at eventuelle egne noder og lagrede filer er tilgængelige. Vælg derefter et eksisterende workflow med et gemt credential, som kan udføre en ufarlig læsehandling mod en tjeneste, du kontrollerer. Kør det i testmiljøet, og kontrollér både eksekveringen i n8n og det forventede svar fra tjenesten.

Den kontrol prøver den del, som en liste over workflow-navne ikke kan vise: om det gendannede credential faktisk kan bruges. Hvis handlingen fejler, undersøg først om database og krypteringsnøgle stammer fra samme installation. Kontrollér derefter, om forbindelsen til tjenesten virker, og om dens token stadig er gyldigt. Gem resultatet med backupdatoen og de datakilder, du genskabte, så næste prøve kan sammenlignes med en konkret fungerende gendannelse.

Læs også:

Del:

Tilmeld dig vores nyhedsbrev

Få de seneste nyheder om Web3, AI og krypto direkte i din indbakke.

0