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

Gmail till SSH: diskrensning innan det blir akut

Rickard Andersson Partner, Nodenordic.se

Din diskvarning triggas. Du öppnar mejlet, hoppar in via SSH, kör några “snabba” kommandon och hoppas att du inte råkar radera fel sak. Sedan gör du samma sak igen nästa vecka. Och igen.

DevOps-ansvariga dras in i det här oftast. Men byråägare som hostar kundsajter och driftpersoner som råkat få “sysadmin-hatten” känner samma smärta. Den här automatiseringen för Gmail + SSH-loggrensning gör ett läskigt “80 % disk används”-mejl till en kontrollerad loggrensning utan panik.

Du får se hur flödet läser diskvarningar från inkorgen, plockar ut serverns IP, loggar in via SSH, rensar säkra loggmål (Nginx, PM2, Docker, systemloggar) och lämnar dig med en strukturerad, repeterbar respons.

Så fungerar automatiseringen

Här är hela arbetsflödet du kommer att sätta upp:

n8n Workflow Template: Gmail till SSH: diskrensning innan det blir akut

Varför det här spelar roll: diskvarningar blir snabbt akuta

Incidenter med diskutrymme är irriterande eftersom de sällan är “en uppgift”. Först bekräftar du servern, sedan hittar du vad som växer, sedan rensar du, sedan verifierar du att inget gick sönder. Har du flera servrar blir det värre, eftersom varningen kommer när du redan har fullt upp. Och helt ärligt: den läskigaste delen är den mänskliga faktorn – en felaktig sökväg, ett för aggressivt rm, och du har skapat ett större problem än en full disk. Alternativkostnaden är också verklig. De där 20-minutersrensningarna stjäl tid från att förebygga nästa incident.

Det bygger snabbt på. Här är var det oftast fallerar i verkligheten.

  • Du slösar tid på att leta upp rätt server eftersom varningar inte är kopplade till ett tydligt, tillförlitligt IP eller hostname.
  • Rensningar sker under press, och det är då misstagen händer och “tillfälliga” kommandon blir permanenta vanor.
  • Loggar sväller på förutsägbara ställen (Nginx, Docker, PM2), men responsen är inkonsekvent i teamet.
  • Du märker först att disken är full när något går sönder, för att ingen gjorde det tråkiga underhållet tidigare.

Det du bygger: en körbok för SSH-rensning triggat av mejl

Det här flödet bevakar din inkorg för diskvarningar och reagerar direkt när ett mejl med “diskutnyttjande > 80 %” dyker upp. Det läser meddelandet, extraherar serverns IP (så det vet exakt var det ska agera) och förbereder sedan en uppsättning SSH-variabler som användare, port och de rensningssökvägar du vill tillåta. Därefter loggar n8n in på maskinen och kör ett kuraterat kommando-set som riktar in sig på vanliga loggsyndare som Nginx-loggar, PM2-loggar, Docker-loggar och utvalda systemloggfiler. Slutresultatet är enkelt: disktrycket sjunker utan att du behöver öppna en terminal, och du får en tydlig logg över vad som hände.

Flödet börjar med att n8n läser mejl via IMAP. Därefter plockar ett tolkningssteg ut serveradressen, och sedan standardiserar ett steg för att “sätta variabler” vad SSH ska göra. Till sist kör SSH-noden rensningskommandona på rätt host – varje gång.

Det du bygger

Förväntade resultat

Säg att du hanterar 5 mindre servrar och får cirka 3 diskvarningar i veckan. Manuellt tar det ofta 20 minuter att hitta rätt host, SSH:a in, lokalisera de stora loggarna, rensa dem och dubbelkolla att inget gick åt skogen – alltså ungefär en timme i veckan. Med det här flödet är “arbetet” i princip noll: mejlet triggar direkt och rensningen körs på ett par minuter. Realistiskt sparar du runt en timme varje vecka, plus att du slipper den där enstaka nattliga incidenten med helt full disk.

Innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Gmail- eller IMAP-inkorg som tar emot diskvarningsmejl
  • SSH-åtkomst för att köra rensningskommandon på servern
  • SSH-nyckel eller lösenord (skapa det på ditt serveranvändarkonto)

Kunskapsnivå: Medel. Du behöver inte koda, men du bör vara bekväm med att validera SSH-åtkomst och granska rensningssökvägar.

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

Steg för steg

Ett varningsmejl landar i din inkorg. n8n övervakar en specifik brevlåda/mapp via IMAP (ofta en etikett som “Server Alerts”) och reagerar bara när meddelandet matchar din villkorsgräns för diskanvändning, till exempel “över 80 %”.

Flödet hittar rätt server automatiskt. Det tolkar mejlets brödtext och plockar ut serverns IP eller adress. Den här delen är viktigare än det låter, eftersom korrekta indata förhindrar obehagliga utdata.

SSH-inställningar standardiseras innan något körs. Ett steg för att “sätta fält” fyller i SSH-host, användarnamn och de loggsökvägar du tänker röra. Det är också här du bestämmer vad “säker rensning” betyder i din miljö.

Rensningskommandon körs via SSH. Flödet loggar in och rensar vanliga loggkällor (Nginx, PM2, Docker och utvalda systemloggar) så att disken slutar öka och tjänsterna kan andas igen.

Du kan enkelt justera vilka kataloger som rensas för att matcha din stack. Se hela implementationsguiden nedan för alternativ för anpassning.

Steg-för-steg-implementeringsguide

Steg 1: Konfigurera e-posttriggern

Det här arbetsflödet börjar med att bevaka en inkorg efter varningar om diskanvändning.

  1. Lägg till och öppna Monitor Disk Alert Inbox för att fungera som trigger.
  2. I OptionsCustom Email Config ställer ni in värdet till ["UNSEEN", ["SUBJECT", "disk"]] för att bara läsa olästa e-postmeddelanden med diskvarningar.
  3. Credential Required: Anslut era imap-autentiseringsuppgifter.

Tips: Använd en dedikerad brevlåda eller etikett för diskvarningar för att undvika att bearbeta orelaterade e-postmeddelanden.

Steg 2: Konfigurera Parse Server Address

Det här steget extraherar serverns IP från varningens ämnesrad så att efterföljande noder kan ansluta till rätt maskin.

  1. Lägg till Parse Server Address och koppla den efter Monitor Disk Alert Inbox.
  2. I JavaScript Code behåller ni logiken som kontrollerar ämnesrader som innehåller disk-[CONFIGURE_YOUR_API_KEY] eller disk utilization.
  3. Bekräfta att regexen extraherar IP i formatet (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):9100 och outputtar server_ip.

⚠️ Vanlig fallgrop: Ersätt CONFIGURE_YOUR_API_KEY i ämneskontrollen så att endast betrodda varningar triggar rensningen.

Steg 3: Konfigurera Set SSH Parameters

Den här noden förbereder autentiseringsuppgifterna och målvärdena för servern till SSH-kommandot.

  1. Lägg till Set SSH Parameters och koppla den efter Parse Server Address.
  2. I Assignments ställer ni in pwd till password och server_user till user.
  3. Ställ in server_ip till uttrycket {{ $input.first().json.server_ip }}.

⚠️ Vanlig fallgrop: Undvik att hårdkoda känsliga lösenord i Set SSH Parameters för produktion. Använd krypterade autentiseringsuppgifter eller miljövariabler om möjligt.

Steg 4: Konfigurera Execute Log Cleanup SSH

Den här noden kör rensningskommandot på målservern via SSH.

  1. Lägg till Execute Log Cleanup SSH och koppla den efter Set SSH Parameters.
  2. Credential Required: Anslut era sshPassword-autentiseringsuppgifter.
  3. Ställ in Command till =echo '{{ $json.pwd }}' | sudo -S su - jenkins -c "ssh {{ $json.server_user }}@{{ $json.server_ip }} 'sudo rm -rf /var/log/*.gz && sudo rm -rf /var/log/*.1 && sudo rm -rf /var/log/nginx/*.log && sudo rm -rf /var/log/apache2/*.log && sudo journalctl --vacuum-size=200M && sudo apt-get clean && sudo apt-get autoclean && docker builder prune -af && docker system df && sudo apt-get autoremove -y'".

Tips: Bekräfta att användaren jenkins har behörighet att köra sudo och SSH:a till målservern utan interaktiva prompts.

Steg 5: Testa och aktivera ert arbetsflöde

Verifiera att e-postfiltret, IP-extraheringen och SSH-rensningen fungerar hela vägen innan ni aktiverar.

  1. Klicka på Execute Workflow och skicka ett testmejl med en ämnesrad som innehåller disk utilization och ett IP som 10.0.0.12:9100.
  2. Bekräfta att Parse Server Address outputtar en giltig server_ip och att Set SSH Parameters skickar vidare den korrekt.
  3. Kontrollera loggarna i Execute Log Cleanup SSH för lyckad kommandokörning och förväntade resultat av diskrensningen.
  4. När allt är verifierat växlar ni arbetsflödet till Active för produktionsövervakning.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • IMAP-/Gmail-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, börja med att kontrollera dina n8n-inloggningsuppgifter för IMAP-kontot (och bekräfta att brevlådan/mappen fortfarande finns).
  • Om du använder Wait-noder eller extern rendering varierar behandlingstiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • SSH-fel handlar oftast om autentisering eller sudo. Säkerställ att SSH-användaren kan köra rensningskommandona icke-interaktivt och testa sedan igen från n8n:s SSH-nod med samma host/port.

Snabba svar

Hur lång tid tar det att sätta upp den här automatiseringen för Gmail + SSH-loggrensning?

Cirka 30 minuter om IMAP och SSH redan är redo.

Krävs kodning för den här automatiseringen av diskrensning?

Nej. Du kopplar mest ihop mejl och SSH och justerar sedan några rensningsvariabler.

Är n8n gratis att använda för det här flödet för Gmail + SSH-loggrensning?

Ja. n8n har ett gratis alternativ för egen hosting 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 med din server-/VPS-kostnad, som du redan betalar om du kör maskinen du rensar.

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 egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger dig obegränsade körningar, men kräver grundläggande serverdrift.

Kan jag anpassa det här flödet för Gmail + SSH-loggrensning för andra användningsfall?

Ja, och det bör du. Uppdatera rensningsmålen i steget “Set SSH Parameters” så att de matchar dina egna loggplatser, och justera sedan kommandona i “Execute Log Cleanup SSH” för att vara mer försiktiga (trunkera) eller mer aggressiva (radera) beroende på din risktolerans. Vanliga justeringar är att bara rensa Nginx-loggar, begränsa Docker-loggstorlek eller hoppa över systemloggar helt på känsliga hosts.

Varför misslyckas min SSH-anslutning i det här flödet?

Oftast är det en mismatch i autentisering: fel SSH-nyckel, fel användarnamn eller att servern blockerar lösenordsinloggning. Det kan också vara att sudo vill ha ett lösenord, vilket n8n inte kan svara på. Lös det genom att testa samma användare från din terminal först och spegla sedan de inställningarna i n8n:s SSH-inloggningsuppgifter. Om varningsmejlen innehåller ett privat IP som inte går att nå från där n8n körs, kommer anslutningen att misslyckas även med perfekta inloggningsuppgifter.

Vilken volym kan det här flödet för Gmail + SSH-loggrensning hantera?

En typisk n8n Cloud-setup kan hantera hundratals körningar per månad för automatiseringar som den här, och egen hosting beror främst på dina serverresurser. I praktiken är varje varning lika med en körning, så även en stökig miljö är hanterbar om du inte triggar dussintals per timme.

Är den här automatiseringen för Gmail + SSH-loggrensning bättre än att använda Zapier eller Make?

Oftast, ja. SSH-baserade åtgärder och egen parsing är områden där n8n brukar kännas mer flexibelt, och egen hosting är viktigt om du inte vill ha prissättning per uppgift. Zapier/Make kan fortfarande fungera om du håller det enkelt, men du kan stöta på begränsningar när du behöver rikare logik eller säkrare skyddsräcken. En annan poäng: att ha flödet nära din infrastruktur (egenhostad n8n) kan minska problem med nätverk och IP-allowlist. Om du är osäker, prata med en automationsexpert så kvalitetssäkrar vi bästa vägen för din setup.

När det här väl är på plats slutar diskvarningar vara “släpp allt”-ögonblick. Flödet tar hand om den repetitiva rensningen så att du kan fokusera på åtgärden som faktiskt gör att det inte händer igen.

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