Automatische Bereinigung des Speicherplatzes per E-Mail-Warnung - Server-Log-Löschung Workflow

Fortgeschritten

Dies ist ein DevOps-Bereich Automatisierungsworkflow mit 8 Nodes. Hauptsächlich werden Set, Ssh, Code, EmailReadImap und andere Nodes verwendet. Automatisierte Bereinigung von Nginx, Docker und Systemlogs durch SSH und E-Mail-Alarme

Voraussetzungen
  • Keine besonderen Voraussetzungen, sofort nach Import nutzbar

Kategorie

Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "4Y5VQwUUo7uqPPL1",
  "meta": {
    "instanceId": "dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281",
    "templateCredsSetupCompleted": true
  },
  "name": "Auto Disk Cleanup via Email Alert – Server Log Purge Workflow",
  "tags": [],
  "nodes": [
    {
      "id": "8c1aac94-9e6a-4b14-a177-3a00644ea232",
      "name": "E-Mails mit Festplattenwarnungen prüfen",
      "type": "n8n-nodes-base.emailReadImap",
      "position": [
        0,
        0
      ],
      "parameters": {
        "options": {
          "customEmailConfig": "[\"UNSEEN\", [\"SUBJECT\", \"disk\"]]"
        }
      },
      "credentials": {
        "imap": {
          "id": "D3nLrSlP1dHWcIDE",
          "name": "IMAP account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "025c2c15-f693-4b53-8433-4d641526d11a",
      "name": "Server-IP aus E-Mail extrahieren",
      "type": "n8n-nodes-base.code",
      "position": [
        220,
        0
      ],
      "parameters": {
        "jsCode": "const subject = $input.first().json.subject;\n\nif (subject && (subject.toLowerCase().includes(\"disk-utilization\") || subject.toLowerCase().includes(\"disk utilization\"))) {\n  const ipMatch = subject.match(/(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}):9100/);\n  const server_ip = ipMatch ? ipMatch[1] : '';\n  return [{ json: { server_ip } }];\n} else {\n  // Stop workflow if subject doesn't match\n  return [];\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "723c7067-fe88-4b8b-b1ff-38c9eb662641",
      "name": "SSH-Variablen vorbereiten",
      "type": "n8n-nodes-base.set",
      "position": [
        440,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "49c16fb1-4b84-46a7-bb50-5e1fa7f59664",
              "name": "pwd",
              "type": "string",
              "value": "password"
            },
            {
              "id": "c16557bd-7ef6-4049-a634-a5b207a92fd6",
              "name": "server_user",
              "type": "string",
              "value": "user"
            },
            {
              "id": "fd8c4253-8ab2-4094-9a72-78ef782d89d3",
              "name": "server_ip",
              "type": "string",
              "value": "={{ $input.first().json.server_ip }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "7ef2b2b6-5880-4fc1-93fa-b76c3c75effa",
      "name": "Protokollbereinigung über SSH ausführen",
      "type": "n8n-nodes-base.ssh",
      "position": [
        660,
        0
      ],
      "parameters": {
        "command": "=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'\""
      },
      "credentials": {
        "sshPassword": {
          "id": "e5pmM8y0fJOZytlE",
          "name": "Jenkins Server SSH"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0935c618-237c-4630-9087-80b757a78a9c",
      "name": "Kurznotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -20,
        -140
      ],
      "parameters": {
        "width": 160,
        "height": 300,
        "content": "Triggers when an alert email about disk usage is received.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d4efc5ab-9003-4d42-a49c-6ac4c376c9cb",
      "name": "Kurznotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        180,
        -140
      ],
      "parameters": {
        "color": 3,
        "width": 170,
        "height": 300,
        "content": "Parses the email body to extract the target server's IP address.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "adf3341f-4319-40cc-bf97-8917a2bb5c44",
      "name": "Kurznotiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        -140
      ],
      "parameters": {
        "color": 4,
        "width": 170,
        "height": 300,
        "content": "Manually set or map credentials, paths, or other config values.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "4c933879-5907-4616-8902-42cfb2d73edc",
      "name": "Kurznotiz3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        620,
        -140
      ],
      "parameters": {
        "color": 6,
        "width": 170,
        "height": 300,
        "content": "Executes cleanup commands (Nginx, PM2, Docker, system logs).\n\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "fbb7d480-4bbd-4240-9e95-459b563adba4",
  "connections": {
    "723c7067-fe88-4b8b-b1ff-38c9eb662641": {
      "main": [
        [
          {
            "node": "7ef2b2b6-5880-4fc1-93fa-b76c3c75effa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8c1aac94-9e6a-4b14-a177-3a00644ea232": {
      "main": [
        [
          {
            "node": "025c2c15-f693-4b53-8433-4d641526d11a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "025c2c15-f693-4b53-8433-4d641526d11a": {
      "main": [
        [
          {
            "node": "723c7067-fe88-4b8b-b1ff-38c9eb662641",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - DevOps

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes8
Kategorie1
Node-Typen5
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Autor
Oneclick AI Squad

Oneclick AI Squad

@oneclick-ai

The AI Squad Initiative is a pioneering effort to build, automate and scale AI-powered workflows using n8n.io. Our mission is to help individuals and businesses integrate AI agents seamlessly into their daily operations from automating tasks and enhancing productivity to creating innovative, intelligent solutions. We design modular, reusable AI workflow templates that empower creators, developers and teams to supercharge their automation with minimal effort and maximum impact.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34