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
flowchart LR
subgraph sg0["Flow 1"]
direction LR
n0@{ icon: "mdi:message-outline", form: "rounded", label: "Check Disk Alert Emails ", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Extract Server IP from Email "]
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Prepare SSH Variables ", pos: "b", h: 48 }
n3@{ icon: "mdi:cog", form: "rounded", label: "Run Log Cleanup Commands via..", pos: "b", h: 48 }
n2 --> n3
n0 --> n1
n1 --> n2
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n1 code
classDef customIcon fill:none,stroke:none
class n1 customIcon
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
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
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.
- Lägg till och öppna Monitor Disk Alert Inbox för att fungera som trigger.
- I Options → Custom Email Config ställer ni in värdet till
["UNSEEN", ["SUBJECT", "disk"]]för att bara läsa olästa e-postmeddelanden med diskvarningar. - 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.
- Lägg till Parse Server Address och koppla den efter Monitor Disk Alert Inbox.
- I JavaScript Code behåller ni logiken som kontrollerar ämnesrader som innehåller
disk-[CONFIGURE_YOUR_API_KEY]ellerdisk utilization. - Bekräfta att regexen extraherar IP i formatet
(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):9100och outputtarserver_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.
- Lägg till Set SSH Parameters och koppla den efter Parse Server Address.
- I Assignments ställer ni in pwd till
passwordoch server_user tilluser. - 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.
- Lägg till Execute Log Cleanup SSH och koppla den efter Set SSH Parameters.
- Credential Required: Anslut era sshPassword-autentiseringsuppgifter.
- 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.
- Klicka på Execute Workflow och skicka ett testmejl med en ämnesrad som innehåller
disk utilizationoch ett IP som10.0.0.12:9100. - Bekräfta att Parse Server Address outputtar en giltig
server_ipoch att Set SSH Parameters skickar vidare den korrekt. - Kontrollera loggarna i Execute Log Cleanup SSH för lyckad kommandokörning och förväntade resultat av diskrensningen.
- När allt är verifierat växlar ni arbetsflödet till Active för produktionsövervakning.
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
Cirka 30 minuter om IMAP och SSH redan är redo.
Nej. Du kopplar mest ihop mejl och SSH och justerar sedan några rensningsvariabler.
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.
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.
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.
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.
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.
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.