Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

FTP + e-post: återställ backuper med mindre driftstopp

Rickard Andersson Partner, Nodenordic.se

Din n8n-instans spårar ur och plötsligt letar du igenom daterade mappar, tvekar på vilken backup som är den senaste och hoppas att du inte skriver över det enda workflowet du fortfarande behöver köra. Det är exakt här FTP-återställningsautomatisering visar sitt värde.

Ops-ansvariga känner pressen först, men byråägare och inhouse-marknadsförare som kör kampanjer ovanpå n8n dras in i röran de också. Målet här är enkelt: återställ workflows och credentials från den senaste FTP/SFTP-backupen på ett tillförlitligt sätt och skicka en tydlig e-postsammanfattning så att du vet vad som faktiskt hände.

Den här guiden går igenom vad workflowet gör, varför det är säkrare än manuell återställning och hur du kör det på ett sätt som undviker de vanliga katastroferna på “återställningsdagen”.

Så fungerar den här automatiseringen

Här är hela workflowet du kommer att sätta upp:

n8n Workflow Template: FTP + e-post: återställ backuper med mindre driftstopp

Varför det här är viktigt: återställ från backuper utan att slå ut produktion

Att återställa n8n är inte svårt i teorin. I praktiken är det en uppgift man gör sällan, under press, och med precis lagom mycket osäkerhet för att det ska bli fel. Du kanske har fem “senaste”-mappar på din FTP-server, en credentials-undermapp som ligger bland workflow-exporter och ett återställnings-workflow som du absolut inte vill skriva över medan det kör. Lägg till Docker-volymers egenheter och filrättigheter, så kan du tappa en eftermiddag snabbt. Ärligt talat är det värsta inte jobbet. Det är tvivlet.

Friktionen byggs på. Här är det som brukar fallera.

  • Du lägger ungefär en timme på att bekräfta vilken backupmapp som faktiskt är den senaste.
  • Återställning av credentials “slutförs”, men de går inte att dekryptera senare eftersom krypteringsnyckeln ändrades mellan miljöer.
  • En återställningskörning importerar credentials-undermappen som om den vore ett workflow, och sedan måste du städa upp en märklig röra.
  • Återställnings-workflowet skriver över sig självt, och nu kan du inte köra om det rent för att fixa det som gick fel.

Det du bygger: ett säkrare FTP-återställningsworkflow med e-postsammanfattningar

Det här workflowet ger dig en kontrollerad “återställningsknapp” för en self-hostad n8n-instans. Du triggar det manuellt, väljer vad du vill återställa (credentials, workflows eller båda), och det skannar automatiskt din FTP/SFTP-server efter datumformaterade backupmappar (YYYY-MM-DD). När det har identifierat den senaste mappen skapar det temporära återställningskataloger på din server, laddar ner rätt filer och skriver dem till disk så att n8n kan importera dem med sina inbyggda CLI-kommandon. Det undviker också ett klassiskt fel genom att ta bort det nuvarande återställnings-workflowet från importmängden, så workflowet inte skriver över sig självt mitt i körningen. När det är klart får du ett mejl som innehåller återställningsutdata, vilket gör verifieringen mycket enklare.

Workflowet börjar med en manuell restore-trigger och initiering (sökvägar, tidszon och inställningar). Sedan hittar det den senaste backupen på FTP, hämtar workflows och/eller credentials till temporära mappar och importerar dem via n8n import:workflow och n8n import:credentials. Till sist mejlar det en läsbar sammanfattning så att du har spårbarhet.

Det du bygger

Förväntade resultat

Säg att du återställer 40 workflows och 30 credential-filer från dina FTP-backuper. Manuellt kanske du lägger cirka 2 timmar på att hitta den senaste mappen, ladda ner filer, exkludera fel filer och köra om importer när något missas. Med det här workflowet triggar du återställningen, väntar på nedladdnings-/importcykeln (ofta runt 15–20 minuter beroende på din server och FTP-hastighet) och läser sedan e-postsammanfattningen. Det betyder vanligtvis att du får tillbaka en till två timmar, plus färre “återställde vi rätt saker?”-diskussioner.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • FTP- eller SFTP-server för att lagra datumorganiserade backuper.
  • E-postkonto (SMTP) för att skicka återställningssammanfattningar (valfritt).
  • N8N_ENCRYPTION_KEY (hämta den från din n8n-källmiljö).

Svårighetsgrad: Medel. Du kopierar ett workflow, sätter några miljövariabler och bekräftar att dina Docker-volymer och filrättigheter är korrekta.

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

Du triggar en återställningskörning manuellt. Triggern innehåller ett enkelt på/av-val för att återställa credentials, workflows eller båda, så att du kan hålla påverkan så liten som möjligt.

Workflowet beräknar sökvägar och hittar den senaste backupen. Det läser dina miljöinställningar (som projektmappar och tidszon), ansluter till din FTP/SFTP-server, skannar efter YYYY-MM-DD-mappar och väljer den senaste.

Filer laddas ner och förbereds för import. Credentials och workflows hämtas via FTP, skrivs till disk i temporära återställningsmappar och filtreras så att credentials-mappen inte behandlas som en workflow-export. Det finns också ett säkerhetssteg som tar bort det aktuella återställnings-workflowets fil innan andra workflows importeras.

n8n importerar och mejlar resultaten. Workflowet kör n8n:s inbyggda importkommandon på din server och skickar ett mejl med utdata, så att du kan bekräfta att allt lyckades utan att gräva i loggar.

Du kan enkelt ändra återställningsomfattningen till att köra “endast credentials” under en migrering, eller “endast workflows” när du återhämtar dig från en trasig deploy. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: konfigurera den manuella triggern

Det här arbetsflödet startar manuellt så att ni kan välja om ni vill återställa autentiseringsuppgifter, arbetsflöden eller båda.

  1. Lägg till och öppna Manual Restore Trigger som arbetsflödets trigger.
  2. Vid testning, inkludera indatafälten som arbetsflödet förväntar sig: credentials och worflows.
  3. Använd booleska värden (t.ex. true) för att styra vilka återställningsgrenar som körs.

⚠️ Vanlig fallgrop: Flaggan för arbetsflöden stavas worflows i Check Workflows Restore och Create Temp Directories. Behåll stavningen konsekvent, annars körs inte grenen för återställning av arbetsflöden.

Steg 2: anslut FTP för att hämta backup

Arbetsflödet använder flera FTP-noder för att lista och hämta backupmappar och filer.

  1. Öppna Retrieve Credential Directories och ställ in Path till ={{ $('Initialize Settings').item.json.customConfig.FTP_BACKUP_FOLDER }} och Operation till list.
  2. Öppna List Recent Workflow Folder och ställ in Path till ={{ $('Locate Latest Backup').item.json.ftpWorkflowsPath }} med Operation inställt på list.
  3. Öppna List Credential Files och ställ in Path till ={{ $('Locate Latest Backup').item.json.ftpCredentialsPath }} med Operation inställt på list.
  4. Öppna Fetch Workflow Files och ställ in Path till ={{ $json.path }}.
  5. Öppna Fetch Credential Files och ställ in Path till ={{ $json.path }}.
  6. Autentiseringsuppgift krävs: Koppla era ftp-autentiseringsuppgifter till alla FTP-noder (5 noder hanterar kataloglistning och filnedladdningar).

Tips: Säkerställ att FTP-servern innehåller datumformaterade kataloger (YYYY-MM-DD) under backuppathen; Locate Latest Backup känner endast igen det formatet.

Steg 3: konfigurera initiering och val av backup

Dessa noder genererar sökvägar, tidsstämplar och fastställer den senaste backupen som ska återställas.

  1. Öppna Initialize Settings och bekräfta standardvärden för miljön och mappnamn, särskilt N8N_PROJECTS_DIR, PROJECT_FOLDER_NAME och FTP_BACKUP_FOLDER.
  2. I Retrieve Credential Directories, säkerställ att den körs efter Initialize Settings för att använda customConfig.FTP_BACKUP_FOLDER.
  3. Öppna Locate Latest Backup och behåll On Error inställt på continue med felutdata så att den kan routa till Error: Latest Credential Folder.
  4. Öppna Create Temp Directories och behåll kommandot intakt; den använder ={{ $('Manual Restore Trigger').first().json.credentials }} och ={{ $('Manual Restore Trigger').first().json.worflows }} för att bara skapa de mappar ni behöver.

⚠️ Vanlig fallgrop: Om varken credentials eller worflows är satt till true avslutas Create Temp Directories med ett fel.

Steg 4: konfigurera återställningsgrenar (parallell körning)

Arbetsflödet delas upp i grenar för återställning av autentiseringsuppgifter och arbetsflöden efter att temporära kataloger har skapats.

  1. Create Temp Directories skickar utdata parallellt till både Check Credentials Restore och Check Workflows Restore.
  2. I Check Credentials Restore, behåll villkoret ={{ $('Manual Restore Trigger').first().json.credentials }} satt till booleskt true.
  3. I Check Workflows Restore, behåll villkoret ={{ $('Manual Restore Trigger').first().json.worflows }} satt till booleskt true.
  4. I grenen för autentiseringsuppgifter, behåll kedjan: List Credential FilesFetch Credential FilesSave Credential FilesImport Credentials.
  5. Ställ in Save Credential Files File Name till ={{ $('Initialize Settings').first().json.workflowConfig.PROJECT_ROOT_PATH }}/{{ $('Locate Latest Backup').item.json.latestBackupDate }}{{ $('Initialize Settings').first().json.customConfig.credentials_temp_folder}}/{{ $json.name }}.
  6. I grenen för arbetsflöden, behåll kedjan: List Recent Workflow FolderFetch Workflow FilesExclude Credential SubfolderSave Workflow FilesRemove Current Workflow FileImport Workflows.
  7. Ställ in Save Workflow Files File Name till ={{ $('Initialize Settings').first().json.workflowConfig.PROJECT_ROOT_PATH }}/{{ $('Locate Latest Backup').item.json.latestBackupDate }}{{ $('Initialize Settings').first().json.customConfig.workflows_temp_folder}}/{{ $json.name }}.

Tips: Exclude Credential Subfolder filtrerar objekt baserat på ={{ $binary.data }}, vilket förhindrar att autentiseringsfiler behandlas i grenen för återställning av arbetsflöden.

Steg 5: konfigurera notifieringar och importer

Importresultat skickas via e-post till administratörsadressen som konfigureras i initieringssteget.

  1. I Import Credentials, behåll Command inställt på =n8n import:credentials --separate --input={{ $('Initialize Settings').first().json.workflowConfig.PROJECT_ROOT_PATH }}/{{ $('Locate Latest Backup').item.json.latestBackupDate }}{{ $('Initialize Settings').first().json.customConfig.credentials_temp_folder}}.
  2. I Import Workflows, behåll Command inställt på =n8n import:workflow --separate --input={{ $('Initialize Settings').first().json.workflowConfig.PROJECT_ROOT_PATH }}/{{ $('Locate Latest Backup').item.json.latestBackupDate }}{{ $('Initialize Settings').first().json.customConfig.workflows_temp_folder }}.
  3. Öppna Workflow Success Email och behåll To Email som ={{ $env.N8N_ADMIN_EMAIL }} och Subject som =n8n SUCCESS: {{ $workflow.name }}.
  4. Öppna Credential Success Email och behåll To Email som ={{ $env.N8N_ADMIN_EMAIL }} och Subject som =n8n SUCCESS: {{ $workflow.name }}.
  5. Autentiseringsuppgift krävs: Koppla era smtp-autentiseringsuppgifter till Workflow Success Email och Credential Success Email.

⚠️ Vanlig fallgrop: Workflow Success Email och Credential Success Email är inaktiverade i JSON. Aktivera dem om ni vill ha notifieringar.

Steg 6: lägg till felhantering

Arbetsflödet stoppar på ett kontrollerat sätt när det inte kan hitta en giltig backupkatalog.

  1. Behåll Locate Latest Backup konfigurerad med On Error inställt på continue så att felutdata kan routas.
  2. Säkerställ att felkopplingen från Locate Latest Backup går till Error: Latest Credential Folder.
  3. I Error: Latest Credential Folder, behåll Error Message inställt på ={{ $json.error }} för tydlig felsökning.

Tips: Om inga daterade mappar hittas kastar Locate Latest Backup ett fel och arbetsflödet stoppar innan någon återställning försöks.

Steg 7: testa och aktivera ert arbetsflöde

Validera båda grenarna och bekräfta att filer återställs och importeras korrekt.

  1. Klicka på Execute Workflow och ange testindata för Manual Restore Trigger, till exempel {"credentials": true, "worflows": true}.
  2. Bekräfta att Create Temp Directories rapporterar skapade mappar och att FTP-noderna hämtar filer.
  3. Verifiera att Import Credentials och/eller Import Workflows slutförs med exit code 0 och genererar utdata i deras stdout.
  4. Om aktiverat, kontrollera att Workflow Success Email och Credential Success Email skickas till ={{ $env.N8N_ADMIN_EMAIL }}.
  5. När allt fungerar, växla arbetsflödet till Active för användning i produktion.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • FTP/SFTP-uppgifter kan gå ut eller sakna behörigheter. Om det strular, kontrollera först FTP-credentials i n8n och testa sedan genom att köra noden “Retrieve Credential Directories”.
  • Om din server är långsam eller backupmappen är stor kan nedladdningar ta längre tid än väntat. Om efterföljande steg fallerar på grund av saknade filer, kör om efter att du bekräftat att de temporära återställningsmapparna skapades och fylldes.
  • Noderna Execute Command är beroende av din Docker-volymsetup och filsystembehörigheter. Om importer misslyckas, verifiera att n8n kan skriva till N8N_PROJECTS_DIR och att n8n CLI finns tillgängligt i containern du kör.

Snabba svar

Hur lång är uppsättningstiden för den här FTP-återställningsautomatiseringen?

Cirka 30 minuter om dina FTP- och n8n-mappar redan finns på plats.

Krävs det kodning för den här FTP-återställningsautomatiseringen?

Nej. Du kopplar mestadels in credentials och justerar några miljöbaserade inställningar i Init-steget.

Är n8n gratis att använda för det här workflowet för FTP-återställningsautomatisering?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in kostnader för FTP/SFTP-hosting (ofta inkluderat med en VPS eller NAS) samt valfria kostnader för SMTP/e-posttjänst.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsat antal körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här workflowet för FTP-återställningsautomatisering för andra use cases?

Ja, men behåll skyddsrälsarna. De flesta börjar med att ändra manual-triggerns pinnade data så att den kör “endast credentials” eller “endast workflows”. Du kan också justera logiken i “Locate Latest Backup” om din mappnamngivning skiljer sig, och byta ut e-postnoderna mot ett annat notifieringsverktyg om e-post inte är din grej.

Varför misslyckas min FTP-anslutning i det här workflowet?

Oftast handlar det om FTP/SFTP-credentials i n8n (fel host/port, utgånget lösenord/nyckel eller saknad åtkomst till backup-sökvägen). Om credentials är korrekta kan det vara nätverksåtkomst från n8n-servern till FTP-servern, eller att sökvägen FTP_BACKUP_FOLDER inte matchar det som finns på servern.

Vilken volym kan det här workflowet för FTP-återställningsautomatisering hantera?

Gott och väl för de flesta små team: dussintals workflows och credentials i en körning är normalt, och self-hostad n8n har ingen gräns för antal körningar (dina serverresurser är den verkliga begränsningen).

Är den här FTP-återställningsautomatiseringen bättre än att använda Zapier eller Make?

För återställningar, ja. Zapier och Make är inte byggda för att köra server-side CLI-kommandon som n8n import:workflow eller skriva batchar av JSON-filer till Docker-monterade kataloger, vilket är hela poängen här. n8n gör det också enklare att lägga in skydd: filtrera bort mappar, exkludera den aktuella workflow-filen och bygga grenlogik utan att betala extra för varje väg. Om du kör detta under en riktig incident betyder e-postsammanfattningarna och “selektiv återställning”-valen mer än ett snyggare UI. Nackdelen är att du behöver grundläggande kontroll över din hostingmiljö (sökvägar, behörigheter och volymer). Prata med en automationsexpert om du vill ha den säkraste setupen för din stack.

När återställningar är förutsägbara slutar driftstopp vara en gissningslek. Sätt upp detta en gång, så blir nästa återhämtning en rutinuppgift istället för en brandövning.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal