{"id":71644,"date":"2024-11-04T09:01:58","date_gmt":"2024-11-04T08:01:58","guid":{"rendered":"https:\/\/kinsta.com\/de\/?p=71644&#038;preview=true&#038;preview_id=71644"},"modified":"2024-12-10T15:23:26","modified_gmt":"2024-12-10T14:23:26","slug":"planen-backups-mehrere-websites-api","status":"publish","type":"post","link":"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/","title":{"rendered":"Planen von Backups f\u00fcr mehrere Websites mit der Kinsta API"},"content":{"rendered":"<p>F\u00fcr <a href=\"https:\/\/kinsta.com\/de\/blog\/wordpress-agentur\/\">WordPress-Agenturen<\/a>, die mehrere Kunden-Websites verwalten, ist eine solide <a href=\"https:\/\/kinsta.com\/de\/blog\/kinsta-backup-funktionen\/\">Backup-Strategie<\/a> unerl\u00e4sslich. Im Falle eines unerwarteten Ausfalls, eines Plugin-Fehlers oder menschlichen Versagens stellen Backups sicher, dass die Daten schnell wiederhergestellt werden k\u00f6nnen &#8211; so werden Ausfallzeiten minimiert und das Risiko f\u00fcr die Kunden verringert.<\/p>\n<p>Wir bei Kinsta wissen, wie wichtig Backups sind. Deshalb bieten wir <a href=\"https:\/\/kinsta.com\/de\/docs\/wordpress-hosting\/wordpress-backups\/\">sechs Backup-Optionen<\/a> an: automatische t\u00e4gliche, optional st\u00fcndliche (und alle sechs Stunden), manuelle, systemgenerierte, herunterladbare und externe Backups, die direkt an Amazon S3 oder Google Cloud Storage gesendet werden.<\/p>\n<p>Die Verwaltung dieser Backups ist ganz einfach \u00fcber das <a href=\"https:\/\/kinsta.com\/de\/mykinsta\/\">MyKinsta-Dashboard<\/a> m\u00f6glich, aber <a href=\"https:\/\/kinsta.com\/de\/docs\/kinsta-api\/\">die API von Kinsta<\/a> bietet gro\u00dfartige M\u00f6glichkeiten, sich wiederholende Prozesse zu automatisieren.<\/p>\n<p>Stell dir vor, du gibst einfach einen Befehl in Slack ein oder richtest einen Cron-Job ein, um Backups f\u00fcr alle deine WordPress-Websites in deinem Kinsta-Agenturkonto auszul\u00f6sen, ohne manuell durch Dutzende oder gar Hunderte von Websites-Dashboards zu navigieren.<\/p>\n<p>Diese Flexibilit\u00e4t ist einer der vielen Vorteile eines Hosters, der die Bed\u00fcrfnisse seiner Kunden in den Vordergrund stellt und ihnen die Werkzeuge zur Verf\u00fcgung stellt, um individuelle, zeitsparende L\u00f6sungen zu erstellen.<\/p>\n<p>In diesem Leitfaden wird erkl\u00e4rt, wie du die Kinsta-API nutzen kannst, um Backups f\u00fcr mehrere Websites zu automatisieren. Ganz gleich, ob du sie mit deinem bevorzugten Stack integrierst, Tools wie Slack verwendest oder automatische Zeitpl\u00e4ne einrichtest, dieser Leitfaden vermittelt dir das Wissen, um deinen Backup-Prozess zu rationalisieren und deinen Workflow zu verbessern.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Wenn du mit den verschiedenen Backup-Endpunkten, die \u00fcber die Kinsta-API verf\u00fcgbar sind, nicht vertraut bist, solltest du dir unseren detaillierten Leitfaden zur <a href=\"https:\/\/kinsta.com\/de\/blog\/wordpress-backups-api\/\">Verwaltung von WordPress-Backups in Slack mit der Kinsta-API<\/a> ansehen. Darin wird erkl\u00e4rt, wie du die verschiedenen Backup-Endpunkte effektiv nutzen kannst.<\/p>\n<\/aside>\n\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Backups f\u00fcr alle und f\u00fcr ausgew\u00e4hlte Websites einrichten<\/h2>\n<p>Bevor du dich mit der Planung besch\u00e4ftigst, solltest du wissen, wie du Backups f\u00fcr alle Websites in deinem Kinsta-Konto ausl\u00f6sen kannst und wie du mit der Kinsta-API bestimmte Websites oder Umgebungen ansteuern kannst.<\/p>\n<p>Sobald wir die Grundlage f\u00fcr die Erstellung von Backups geschaffen haben, k\u00f6nnen wir ganz einfach die Zeitplanung integrieren, um den Prozess zu automatisieren.<\/p>\n<h3>Ausl\u00f6sen von Backups f\u00fcr alle Websites in einem Kinsta-Konto<\/h3>\n<p>Wie bei jeder API gibt es nicht immer einen einzigen Endpunkt, der alles kann, was du brauchst &#8211; oft musst du mehrere Endpunkte kombinieren, um das gew\u00fcnschte Ergebnis zu erzielen.<\/p>\n<p>Bei der Kinsta-API ist das nicht anders. Es gibt zwar spezielle Endpunkte f\u00fcr die Verwaltung von Backups, aber diese Endpunkte ben\u00f6tigen bestimmte Parameter, wie z. B. Umgebungs-IDs, die du durch zus\u00e4tzliche Anfragen an andere Endpunkte erh\u00e4ltst.<\/p>\n<p>Um zum Beispiel ein manuelles Backup f\u00fcr eine Website auszul\u00f6sen, brauchst du die Umgebungs-ID f\u00fcr diese bestimmte Umgebung. Um die Umgebungs-ID zu erhalten, brauchst du zun\u00e4chst die Site-ID. Das bedeutet, dass du mehrere API-Aufrufe t\u00e4tigen musst: einen, um die Site-ID zu erhalten, einen weiteren, um die Umgebungs-ID abzurufen, und schlie\u00dflich eine Anfrage, um das Backup auszul\u00f6sen.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Die Beispiele in diesem Leitfaden basieren zwar auf <a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-javascript\/\">JavaScript<\/a>, aber die Logik l\u00e4sst sich leicht auf andere <a href=\"https:\/\/kinsta.com\/de\/blog\/beste-programmiersprache-lernen-sollte\/\">Programmiersprachen<\/a> wie <a href=\"https:\/\/kinsta.com\/de\/blog\/python-installieren\/\">Python<\/a> \u00fcbertragen, je nachdem, was du bevorzugst.<\/p>\n<p>Wenn du die Kinsta-API zum ersten Mal verwendest, musst du einen API-Schl\u00fcssel generieren. In <a href=\"https:\/\/kinsta.com\/de\/blog\/kinsta-api-schluessel\/\">dieser Anleitung erf\u00e4hrst du, wie du den Kinsta-API-Schl\u00fcssel generierst und verwendest<\/a>, um loszulegen.<\/p>\n<\/aside>\n\n<h4>Schritt 1: Alle WordPress-Websites mit Kinsta-API abrufen<\/h4>\n<p>Der erste Schritt besteht darin, eine Liste aller Websites abzurufen, die mit deinem Kinsta-Konto verbunden sind. Die Kinsta-API bietet einen Endpunkt, um diese Daten abzurufen, darunter Site-IDs, Namen und andere relevante Details. Mit dem Endpunkt <code>GET \/sites<\/code> kannst du eine Liste aller Websites deines Unternehmenskontos abrufen.<\/p>\n<p>Hier ist ein Beispiel mit Node.js und der <a href=\"https:\/\/kinsta.com\/de\/blog\/javascript-http-anfrage\/#4-how-to-make-an-http-request-in-javascript-using-the-fetch-api\">Fetch API<\/a>:<\/p>\n<pre><code class=\"language-js\">require('dotenv').config();\n\nconst KINSTA_API_URL = 'https:\/\/api.kinsta.com\/v2';\nconst API_KEY = process.env.KINSTA_API_KEY;\n\nasync function getAllSites() {\n    const response = await fetch(`${KINSTA_API_URL}\/sites`, {\n        headers: {\n            Authorization: `Bearer ${API_KEY}`\n        }\n    });\n    const data = await response.json();\n    return data.company.sites; \/\/ Returns array of all sites\n}<\/code><\/pre>\n<p>Diese Funktion gibt ein Array mit allen Websites in deinem Konto zur\u00fcck. Jede Antwort enth\u00e4lt Informationen wie die ID, den Namen und die Umgebung(en) der Website.<\/p>\n<h4>Schritt 2: Umgebungs-IDs f\u00fcr jede WordPress-Website abrufen<\/h4>\n<p>Jede Website kann mehrere Umgebungen haben (z. B. Produktions- oder Staging-Umgebungen), und die Backups werden pro Umgebung ausgel\u00f6st. Um die Umgebungs-IDs f\u00fcr jede Website abzurufen, machst du einen weiteren API-Aufruf an den Endpunkt <code>GET \/sites\/{site_id}\/environments<\/code>.<\/p>\n<p>Hier ist eine Beispielfunktion, die die Umgebungen f\u00fcr eine bestimmte Website abruft:<\/p>\n<pre><code class=\"language-js\">async function getSiteEnvironments(siteId) {\n    const response = await fetch(`${KINSTA_API_URL}\/sites\/${siteId}\/environments`, {\n        headers: {\n            Authorization: `Bearer ${API_KEY}`\n        }\n    });\n    const data = await response.json();\n    return data.site.environments;\n}<\/code><\/pre>\n<h4>Schritt 3: Backups f\u00fcr jede Umgebung ausl\u00f6sen<\/h4>\n<p>Sobald du die Umgebungs-IDs hast, kannst du \u00fcber den Endpunkt <code>POST \/sites\/environments\/{env_id}\/manual-backups<\/code> Backups f\u00fcr jede Umgebung ausl\u00f6sen. Mit der API kannst du eine manuelle Sicherung erstellen, indem du eine Umgebungs-ID und einen optionalen Tag zur Identifizierung des Backups angibst.<\/p>\n<p>Hier erf\u00e4hrst du, wie du ein Backup f\u00fcr eine bestimmte Umgebung ausl\u00f6st:<\/p>\n<pre><code class=\"language-js\">async function createBackup(environmentId, tag) {\n    const response = await fetch(`${KINSTA_API_URL}\/sites\/environments\/${environmentId}\/manual-backups`, {\n        method: 'POST',\n        headers: {\n            Authorization: `Bearer ${API_KEY}`,\n            'Content-Type': 'application\/json'\n        },\n        body: JSON.stringify({ tag })\n    });\n\n    if (response.ok) {\n        console.log(`Backup created for environment ${environmentId} with tag: ${tag}`);\n    } else {\n        console.error(`Failed to create backup for environment ${environmentId}`);\n    }\n}<\/code><\/pre>\n<p>Diese Funktion l\u00f6st ein manuelles Backup f\u00fcr die angegebene Umgebungs-ID aus. Du kannst dein Backup auch markieren, um es leichter zu identifizieren.<\/p>\n<h4>Schritt 4: Automatisiere Backups f\u00fcr alle Websites<\/h4>\n<p>Jetzt, wo du die Funktionen zum Abrufen aller Websites, zum Abrufen der Umgebungs-IDs und zum Ausl\u00f6sen von Backups hast, kannst du sie kombinieren, um ein Skript zu erstellen, das Backups f\u00fcr jede Website in deinem Kinsta-Konto automatisiert.<\/p>\n<p>Hier siehst du, wie du alles miteinander verbinden kannst:<\/p>\n<pre><code class=\"language-js\">async function backupAllSites() {\n    const sites = await getAllSites();\n\n    for (const site of sites) {\n        const environments = await getSiteEnvironments(site.id);\n\n        for (const environment of environments) {\n            await createBackup(environment.id, `Backup-${new Date().toISOString()}`);\n        }\n    }\n\n    console.log('Backups for all sites have been triggered.');\n}<\/code><\/pre>\n<p>Diese Funktion durchl\u00e4uft alle Websites, ruft ihre Umgebungen ab und l\u00f6st f\u00fcr jede Umgebung mit einem Zeitstempel Backups aus.<\/p>\n<p>Wenn du nun <code>backupAllSites()<\/code> aufrufst, wird ein Backup f\u00fcr jede Umgebung in deinem Kinsta-Konto ausgel\u00f6st.<\/p>\n<h4>Beispiel f\u00fcr einen Slack-Befehl<\/h4>\n<p>Du kannst diesen Backup-Prozess in einen Slack-Befehl integrieren, um die Verwaltung noch einfacher zu gestalten. Wenn eine <a href=\"https:\/\/kinsta.com\/de\/blog\/erstelle-slackbot-website-management\/\">Slack-App eingerichtet<\/a> ist, k\u00f6nnen die Nutzer mit einem einzigen Befehl wie <code>\/backup_all_sites<\/code> Backups f\u00fcr alle Websites ausl\u00f6sen.<\/p>\n<p>Hier ist ein kurzes Beispiel, wie das funktionieren k\u00f6nnte:<\/p>\n<pre><code class=\"language-js\">app.command('\/backup_all_sites', async ({ ack, say }) =&gt; {\n    await ack();\n    await backupAllSites();\n    say('Backups for all sites have been triggered.');\n});<\/code><\/pre>\n<h3>Ausl\u00f6sen von Backups f\u00fcr ausgew\u00e4hlte Websites mithilfe von Umgebungs-IDs<\/h3>\n<p>In manchen F\u00e4llen m\u00f6chtest du vielleicht nur f\u00fcr bestimmte Websites oder Umgebungen Backups ausl\u00f6sen und nicht f\u00fcr alle Websites in deinem Kinsta-Konto. Das kann n\u00fctzlich sein, wenn du nur Produktionsumgebungen oder bestimmte Websites mit hoher Priorit\u00e4t sichern m\u00f6chtest.<\/p>\n<p>Mit der Kinsta-API k\u00f6nnen wir Backups f\u00fcr ausgew\u00e4hlte Umgebungen automatisieren, indem wir ein Array von Umgebungs-IDs \u00fcbergeben. Wir gehen jetzt durch, wie wir das umsetzen.<\/p>\n<h4>Schritt 1: Umgebungs-IDs \u00fcbergeben<\/h4>\n<p>Wenn du Backups f\u00fcr ausgew\u00e4hlte Websites ausl\u00f6sen willst, brauchst du die Umgebungs-IDs f\u00fcr diese Websites. Du kannst diese IDs entweder fest einprogrammieren, von der Kinsta-API abrufen oder dynamisch \u00fcbergeben (z. B. \u00fcber ein Kommandozeilenargument, einen Slack-Befehl usw.).<\/p>\n<p>Hier ist eine Funktion, die ein Array mit Umgebungs-IDs akzeptiert und Backups f\u00fcr jede dieser IDs ausl\u00f6st:<\/p>\n<pre><code class=\"language-js\">async function backupSelectedEnvironments(environmentIds, tag) {\n    for (const envId of environmentIds) {\n        await createBackup(envId, tag);\n    }\n}<\/code><\/pre>\n<p>Die obige Funktion erh\u00e4lt ein Array von Umgebungs-IDs, die du sichern m\u00f6chtest (<code>environmentIds<\/code>). Die Funktion <code>createBackup(envId, tag)<\/code> l\u00f6st die Sicherung f\u00fcr jede Umgebung im Array mit der Funktion <code>createBackup()<\/code> aus (wird in Schritt 2 erkl\u00e4rt).<\/p>\n<h4>Schritt 2: Ausl\u00f6sen des Backups<\/h4>\n<p>Um das eigentliche Backup f\u00fcr jede Umgebung auszul\u00f6sen, verwendest du den Endpunkt <code>POST \/sites\/environments\/{env_id}\/manual-backups<\/code> der Kinsta-API, so wie wir es f\u00fcr alle Websites getan haben. So funktioniert es:<\/p>\n<pre><code class=\"language-js\">async function createBackup(environmentId, tag) {\n    const response = await fetch(`${KINSTA_API_URL}\/sites\/environments\/${environmentId}\/manual-backups`, {\n        method: 'POST',\n        headers: {\n            Authorization: `Bearer ${API_KEY}`,\n            'Content-Type': 'application\/json'\n        },\n        body: JSON.stringify({ tag })\n    });\n\n    if (response.ok) {\n        console.log(`Backup created for environment ${environmentId} with tag: ${tag}`);\n    } else {\n        console.error(`Failed to create backup for environment ${environmentId}: ${response.statusText}`);\n    }\n}<\/code><\/pre>\n<h4>Schritt 3: Backups f\u00fcr ausgew\u00e4hlte Umgebungen ausf\u00fchren<\/h4>\n<p>Da wir jetzt Funktionen haben, um Backups auszul\u00f6sen und mehrere Umgebungen zu verwalten, k\u00f6nnen wir sie kombinieren, um bestimmte Umgebungen zu sichern. In diesem Beispiel gehen wir davon aus, dass wir bereits die Umgebungs-IDs haben, die wir sichern wollen.<\/p>\n<pre><code class=\"language-js\">const selectedEnvironments = ['12345', '67890']; \/\/ Replace with actual environment IDs\nbackupSelectedEnvironments(selectedEnvironments, 'Manual Backup');<\/code><\/pre>\n<p>In diesem Fall:<\/p>\n<ul>\n<li>Das Array <code>selectedEnvironments<\/code> enth\u00e4lt die Umgebungs-IDs, die du sichern willst.<\/li>\n<li>Die Funktion <code>backupSelectedEnvironments()<\/code> geht jede ID in einer Schleife durch und l\u00f6st das Backup mit dem Tag &#8222;Manual Backup&#8220; aus.<\/li>\n<\/ul>\n<h4>Beispiel f\u00fcr einen Slack-Befehl<\/h4>\n<p>Wenn du eine Slack-App oder eine Befehlszeilenschnittstelle verwendest, kannst du den Nutzern auch erlauben, anzugeben, welche Umgebungen gesichert werden sollen.<\/p>\n<p>Hier siehst du, wie du das in einer Slack-App umsetzen kannst:<\/p>\n<pre><code class=\"language-js\">app.command('\/backup_selected_envs', async ({ command, ack, say }) =&gt; {\n    await ack();\n    const [tag, ...envIds] = command.text.split(' ');  \/\/ First part is the tag, rest are env IDs\n    await backupSelectedEnvironments(envIds, tag);\n    say(`Backups triggered for selected environments with tag ${tag}.`);\n});<\/code><\/pre>\n<p>Der Benutzer gibt einen Befehl wie <code>\/backup_selected_envs Backup-Tag 12345 67890<\/code> ein, wobei <code>Backup-Tag<\/code> der Tag und <code>12345, 67890<\/code> die Umgebungs-IDs sind.<\/p>\n<p>Der Text des Befehls wird geteilt und die Umgebungs-IDs werden an die Funktion <code>backupSelectedEnvironments()<\/code> \u00fcbergeben.<\/p>\n<p>Nachdem die Backups ausgel\u00f6st wurden, antwortet die App dem Nutzer und best\u00e4tigt das Backup.<\/p>\n<h2>Planen von Backups f\u00fcr deine WordPress-Websites<\/h2>\n<p>Einer der wichtigsten Aspekte der Automatisierung ist die M\u00f6glichkeit, Aufgaben zu bestimmten Zeiten zu planen, ohne dass ein manuelles Eingreifen erforderlich ist.<\/p>\n<p>Nachdem wir nun beschrieben haben, wie du Backups f\u00fcr alle und ausgew\u00e4hlte Websites ausl\u00f6sen kannst, ist der n\u00e4chste Schritt die Automatisierung dieser Prozesse durch Hinzuf\u00fcgen von Zeitpl\u00e4nen.<\/p>\n<p>Egal, ob du Backups lokal, auf einer gehosteten Plattform wie Kinsta oder dynamisch \u00fcber Slack planen willst, es gibt verschiedene M\u00f6glichkeiten, dies umzusetzen.<\/p>\n<h3>Cron-Ausdr\u00fccke verstehen<\/h3>\n<p>Bevor du dich mit den verschiedenen Ans\u00e4tzen zur Planung von Backups besch\u00e4ftigst, ist es wichtig, die Cron-Ausdr\u00fccke zu verstehen, die verwendet werden, um den Zeitplan f\u00fcr geplante Aufgaben auf verschiedenen Plattformen und Tools festzulegen.<\/p>\n<p>Cron-Ausdr\u00fccke legen fest, wann eine Aufgabe ausgef\u00fchrt werden soll. Sie werden in vielen Zeitplanungsbibliotheken und -diensten verwendet, z. B. in <a href=\"https:\/\/www.npmjs.com\/package\/node-cron\" target=\"_blank\" rel=\"noopener noreferrer\">node-cron<\/a>, <a href=\"https:\/\/www.npmjs.com\/package\/node-schedule\" target=\"_blank\" rel=\"noopener noreferrer\">node-schedule<\/a> und sogar in serverseitigen Cron-Jobs, wie sie in der <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Anwendungs-Hosting-Plattform von Kinsta<\/a> verf\u00fcgbar sind.<\/p>\n<p>Cron-Ausdr\u00fccke bestehen aus f\u00fcnf Feldern, von denen jedes einen bestimmten Aspekt des Ausf\u00fchrungszeitpunkts der Aufgabe steuert. Ein typischer Cron-Ausdruck sieht wie folgt aus:<\/p>\n<pre><code class=\"language-js\">* * * * *\n| | | | |\n| | | | \u2514\u2500\u2500\u2500 Day of the week (0 - 7) (Sunday to Saturday, 0 and 7 represent Sunday)\n| | | \u2514\u2500\u2500\u2500\u2500\u2500\u2500 Month (1 - 12)\n| | \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Day of the month (1 - 31)\n| \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Hour (0 - 23)\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Minute (0 - 59)<\/code><\/pre>\n<p>Schauen wir uns an, was jedes Feld bedeutet:<\/p>\n<ul>\n<li><strong>Minute<\/strong>: Die Minute der Stunde, in der die Aufgabe ausgef\u00fchrt werden soll (0 &#8211; 59).<\/li>\n<li><strong>Stunde<\/strong>: Die Stunde des Tages, an dem die Aufgabe ausgef\u00fchrt werden soll (0 &#8211; 23).<\/li>\n<li><strong>Tag des Monats<\/strong>: Der bestimmte Tag des Monats, an dem die Aufgabe ausgef\u00fchrt werden soll (1 &#8211; 31).<\/li>\n<li><strong>Monat<\/strong>: Der Monat des Jahres, in dem die Aufgabe ausgef\u00fchrt werden soll (1 &#8211; 12).<\/li>\n<li><strong>Wochentag<\/strong>: Der Wochentag, an dem die Aufgabe ausgef\u00fchrt werden soll (0 &#8211; 7, wobei 0 und 7 jeweils f\u00fcr Sonntag stehen).<\/li>\n<\/ul>\n<p>Du kannst in jedem Feld bestimmte Werte, Platzhalter (<code>*<\/code>) oder Bereiche verwenden, um den Zeitplan zu definieren.<\/p>\n<p>Beispiele f\u00fcr Cron-Ausdr\u00fccke:<\/p>\n<ul>\n<li><code>0 0 * * *<\/code>: Jeden Tag um Mitternacht (00:00)<\/li>\n<li><code>0 3 * * 1<\/code>: Jeden Montag um 3 Uhr morgens<\/li>\n<li><code>*\/10 * * * *<\/code>: Alle 10 Minuten<\/li>\n<li><code>0 9-18 * * *<\/code>: Jede Stunde zwischen 9 Uhr und 18 Uhr<\/li>\n<\/ul>\n<p>Mit einem soliden Verst\u00e4ndnis der Cron-Ausdr\u00fccke k\u00f6nnen wir nun zu den verschiedenen Methoden \u00fcbergehen, mit denen du Backups f\u00fcr deine WordPress-Websites mithilfe der Kinsta-API planst.<\/p>\n<h3>Ansatz 1: Lokales Planen mit node-cron<\/h3>\n<p>Das Node.js-Paket <a href=\"https:\/\/www.npmjs.com\/package\/node-cron\" target=\"_blank\" rel=\"noopener noreferrer\">node-cron<\/a> kann geplante Aufgaben mit einer cron-\u00e4hnlichen Syntax ausf\u00fchren. Es eignet sich ideal f\u00fcr die Ausf\u00fchrung automatisierter Aufgaben in lokalen oder eigenst\u00e4ndigen Node.js-Anwendungen und ist eine beliebte Wahl f\u00fcr die Planung von Backups, den Versand von E-Mails oder die Ausf\u00fchrung anderer wiederkehrender Aufgaben.<\/p>\n<p>In node-cron definierst du eine Aufgabe (z. B. deine Backup-Funktion) und gibst mit einem Cron-Ausdruck an, wann die Aufgabe ausgef\u00fchrt werden soll. Der Cron-Ausdruck besteht aus f\u00fcnf Feldern, die die Minute, die Stunde, den Tag des Monats, den Monat und den Wochentag festlegen, an dem die Aufgabe ausgef\u00fchrt werden soll.<\/p>\n<p>Installiere zun\u00e4chst node-cron in deinem Projekt:<\/p>\n<pre><code class=\"language-bash\">npm install node-cron<\/code><\/pre>\n<p>Angenommen, du m\u00f6chtest ein t\u00e4gliches Backup aller Websites um Mitternacht mit node-cron planen. So w\u00fcrde es funktionieren:<\/p>\n<pre><code class=\"language-js\">const cron = require('node-cron');\nconst { backupAllSites } = require('.\/app');  \/\/ Import the backup function\n\n\/\/ Schedule to run backups for all sites at midnight every day\ncron.schedule('0 0 * * *', () =&gt; {\n  console.log('Running scheduled backup for all sites at midnight...');\n  backupAllSites();\n});<\/code><\/pre>\n<p>Wenn du jeden Tag um 2 Uhr nachts ein Backup ausgew\u00e4hlter Umgebungen erstellen willst, kannst du es so einrichten:<\/p>\n<pre><code class=\"language-js\">cron.schedule('0 2 * * *', () =&gt; {\n  const environmentIds = ['env12345', 'env67890']; \/\/ Specific environments to back up\n  console.log('Running scheduled backup for selected environments...');\n  backupSelectedEnvironments(environmentIds, 'Scheduled Backup');\n});<\/code><\/pre>\n<h3>Ansatz 2: Cron-Jobs beim Cloud-Hosting (wie Kinsta) nutzen<\/h3>\n<p>Wenn du deine Node.js-Anwendung auf einer Plattform wie Kinsta bereitstellst, kannst du die integrierte <a href=\"https:\/\/docs.sevalla.com\/applications\/processes#cron-job-process\">Cronjob-Funktion<\/a> der Plattform nutzen, um Aufgaben wie Backups zu planen. Die Einrichtung von Cron-Jobs in Cloud-Umgebungen erfordert jedoch eine etwas andere Struktur als lokale Scheduling-Tools wie node-cron.<\/p>\n<p>Wenn du deine Anwendungf bei Kinsta bereitstellst, muss sie einen laufenden Webprozess haben (auch wenn er nicht f\u00fcr den Webverkehr zust\u00e4ndig ist).<\/p>\n<p>Um sicherzustellen, dass dein Projekt korrekt l\u00e4uft und nicht automatisch Backup-Funktionen aufruft, kannst du eine Datei erstellen, in der ein einfacher Webserver l\u00e4uft. Diese Datei fungiert als &#8222;Dummy&#8220;-Webprozess, w\u00e4hrend Cron-Jobs die Backup-Logik \u00fcbernehmen.<\/p>\n<p>Du kannst diesen Code so einf\u00fcgen:<\/p>\n<pre><code class=\"language-js\">require('http').createServer((req, res) =&gt; {\n    res.writeHead(302, { Location: 'https:\/\/www.google.com' });\n    res.end();\n}).listen(process.env.PORT);<\/code><\/pre>\n<p>Auf diese Weise kannst du einen Skriptbefehl einrichten, der zwischen dem Webprozess (<code>start<\/code>) und dem Cronjob-Prozess (<code>cron<\/code>) unterscheidet.<\/p>\n<pre><code class=\"language-js\">  \"scripts\": {\n    \"start\": \"node index.js\",  \/\/ Web process\n    \"cron\": \"node app.js\"  \/\/ Cron job process\n  },<\/code><\/pre>\n<p>Schlie\u00dflich konfigurierst du den Cron-Job in Kinsta so, dass er deine Backup-Funktion zur angegebenen Zeit aufruft. In den Cron-Job-Einstellungen kannst du den Befehl zum Ausf\u00fchren des Backups festlegen.<\/p>\n<p>Lege auf der Registerkarte <strong>Prozesse<\/strong>\u00a0der MyKinsta-Dashboard-Anwendungen den Befehl f\u00fcr den Webprozess fest:<\/p>\n<pre><code class=\"language-bash\">npm run start<\/code><\/pre>\n<p>Und setze den Befehl f\u00fcr den Cron-Job auf:<\/p>\n<pre><code class=\"language-bash\">npm run cron<\/code><\/pre>\n<p>Um den Cron-Job zu einer bestimmten Zeit auszuf\u00fchren (jeden Tag um 11:30 Uhr), setzt du den Cron-Ausdruck wie folgt:<\/p>\n<pre><code class=\"language-bash\">30 11 * * *<\/code><\/pre>\n<p>Dieser Befehl wird die Funktion <code>backupAllSites()<\/code> jeden Tag um 11:30 Uhr ausl\u00f6sen.<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2024\/10\/cron-job-app-hosting.png\" alt=\"Einrichten eines Cron-Jobs im Anwendungs-Hosting von Kinsta\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Einrichten eines Cron-Jobs in Kinstas Anwendungs-Hosting<\/figcaption><\/figure>\n<h3>Ansatz 3: Zeitplanung mit node-schedule<\/h3>\n<p>Eine weitere Node.js-Bibliothek, <a href=\"https:\/\/www.npmjs.com\/package\/node-schedule\" target=\"_blank\" rel=\"noopener noreferrer\">node-schedule<\/a>, kann Aufgaben im Cron-Format planen und unterst\u00fctzt auch komplexere Zeitpl\u00e4ne.<\/p>\n<p>Hier ist ein Beispiel, das es Nutzern erm\u00f6glicht, Backups \u00fcber Slack mit dem node-schedule Cron-Format zu planen:<\/p>\n<pre><code class=\"language-js\">const schedule = require('node-schedule');\nconst { backupAllSites } = require('.\/app');\n\n\/\/ Slack command to schedule backups dynamically\napp.command('\/schedule_backup', async ({ command, ack, say }) =&gt; {\n    await ack();\n\n    \/\/ Extract hour and minute from the command (expects HH:MM format)\n    const [hour, minute] = command.text.split(':');\n\n    \/\/ Validate input\n    if (!hour || !minute) {\n        say('Please specify the time in HH:MM format.');\n        return;\n    }\n\n    \/\/ Schedule the backup using node-schedule's cron-like format\n    const job = schedule.scheduleJob(`${minute} ${hour} * * *`, () =&gt; {\n        console.log(`Running scheduled backup at ${hour}:${minute}`);\n        backupAllSites();  \/\/ This triggers the backup for all sites\n    });\n\n    say(`Backup scheduled at ${hour}:${minute} successfully.`);\n});<\/code><\/pre>\n<p>Ein Benutzer k\u00f6nnte zum Beispiel den folgenden Slack-Befehl ausf\u00fchren, um ein Backup f\u00fcr 23:30 Uhr zu planen:<\/p>\n<pre><code class=\"language-bash\">\/schedule_backup 23:30<\/code><\/pre>\n<p>Nachdem er diesen Befehl ausgef\u00fchrt hat, wird das Backup jeden Tag um 23:30 Uhr ausgef\u00fchrt. Die Antwort von Slack k\u00f6nnte wie folgt aussehen:<\/p>\n<pre><code class=\"language-bash\">Backup scheduled at 23:30 successfully.<\/code><\/pre>\n<p>Mit diesem Ansatz k\u00f6nnen Nutzer\/innen dynamisch Backups von Slack aus planen, indem sie einfach die Zeit angeben, ohne mit dem Server oder dem Anwendungscode interagieren zu m\u00fcssen. Das ist eine flexible und leistungsstarke Methode, um geplante Aufgaben wie Backups auf benutzerfreundliche Weise zu erledigen.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Wenn du dein Team \u00fcber Slack verwaltest, kannst du unser <a href=\"https:\/\/github.com\/kinsta\/SlackBot-Kinsta-API\" target=\"_blank\" rel=\"noopener noreferrer\">Slackbot-Projekt<\/a> klonen, das mit der Kinsta-API integriert ist, um verschiedene Aufgaben zu erledigen. Passe einfach die <a href=\"https:\/\/github.com\/kinsta\/SlackBot-Kinsta-API?tab=readme-ov-file#environment-variables\" target=\"_blank\" rel=\"noopener noreferrer\">Umgebungsvariablen<\/a> so an, dass sie deine Kinsta- und Slack-API-Geheimnisse widerspiegeln, und schon bist du startklar. Detaillierte Anweisungen zur Einrichtung und die verf\u00fcgbaren Befehle findest du in der <a href=\"https:\/\/github.com\/kinsta\/SlackBot-Kinsta-API\/blob\/main\/README.md\" target=\"_blank\" rel=\"noopener noreferrer\">README-Datei<\/a>.<\/p>\n<\/aside>\n\n<h2>Zusammenfassung<\/h2>\n<p>Die Planung von Backups f\u00fcr mehrere WordPress-Websites ist f\u00fcr Agenturen, die zahlreiche Kunden-Websites verwalten, sehr n\u00fctzlich. Die Automatisierung dieser Backups spart nicht nur Zeit, sondern sorgt auch f\u00fcr Konsistenz, verringert das Risiko menschlicher Fehler und gibt dir ein sicheres Gef\u00fchl.<\/p>\n<p><em>W\u00e4re diese L\u00f6sung auch f\u00fcr deine Agentur von Vorteil? Wir w\u00fcrden gerne deine Meinung h\u00f6ren. Teile sie uns in den Kommentaren unten mit!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>F\u00fcr WordPress-Agenturen, die mehrere Kunden-Websites verwalten, ist eine solide Backup-Strategie unerl\u00e4sslich. Im Falle eines unerwarteten Ausfalls, eines Plugin-Fehlers oder menschlichen Versagens stellen Backups sicher, dass die &#8230;<\/p>\n","protected":false},"author":287,"featured_media":71645,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1053,925,957],"class_list":["post-71644","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-agentur","topic-api","topic-kinsta-leistungen"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Planung von Backups f\u00fcr mehrere Websites mit der Kinsta-API<\/title>\n<meta name=\"description\" content=\"Dieser Leitfaden behandelt verschiedene Methoden, darunter Node-Cron und Cloud-basierte Cron-Jobs, um das Backup-Management f\u00fcr Agenturen zu optimieren.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Planen von Backups f\u00fcr mehrere Websites mit der Kinsta API\" \/>\n<meta property=\"og:description\" content=\"Dieser Leitfaden behandelt verschiedene Methoden, darunter Node-Cron und Cloud-basierte Cron-Jobs, um das Backup-Management f\u00fcr Agenturen zu optimieren.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-04T08:01:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-10T14:23:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1470\" \/>\n\t<meta property=\"og:image:height\" content=\"735\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Joel Olawanle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Dieser Leitfaden behandelt verschiedene Methoden, darunter Node-Cron und Cloud-basierte Cron-Jobs, um das Backup-Management f\u00fcr Agenturen zu optimieren.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API-1024x512.png\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_DE\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"15\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Planen von Backups f\u00fcr mehrere Websites mit der Kinsta API\",\"datePublished\":\"2024-11-04T08:01:58+00:00\",\"dateModified\":\"2024-12-10T14:23:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/\"},\"wordCount\":2335,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png\",\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/\",\"name\":\"Planung von Backups f\u00fcr mehrere Websites mit der Kinsta-API\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png\",\"datePublished\":\"2024-11-04T08:01:58+00:00\",\"dateModified\":\"2024-12-10T14:23:26+00:00\",\"description\":\"Dieser Leitfaden behandelt verschiedene Methoden, darunter Node-Cron und Cloud-basierte Cron-Jobs, um das Backup-Management f\u00fcr Agenturen zu optimieren.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png\",\"width\":1470,\"height\":735},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https:\/\/kinsta.com\/de\/thema\/api\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Planen von Backups f\u00fcr mehrere Websites mit der Kinsta API\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/de\/#website\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/de\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\",\"https:\/\/x.com\/Kinsta_DE\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"caption\":\"Joel Olawanle\"},\"description\":\"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.\",\"sameAs\":[\"https:\/\/joelolawanle.com\/\",\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\",\"https:\/\/x.com\/olawanle_joel\",\"https:\/\/www.youtube.com\/@joelolawanle\"],\"gender\":\"male\",\"knowsAbout\":[\"JavaScript\",\"React\",\"Next.js\"],\"knowsLanguage\":[\"English\"],\"jobTitle\":\"Technical Editor\",\"worksFor\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Planung von Backups f\u00fcr mehrere Websites mit der Kinsta-API","description":"Dieser Leitfaden behandelt verschiedene Methoden, darunter Node-Cron und Cloud-basierte Cron-Jobs, um das Backup-Management f\u00fcr Agenturen zu optimieren.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/","og_locale":"de_DE","og_type":"article","og_title":"Planen von Backups f\u00fcr mehrere Websites mit der Kinsta API","og_description":"Dieser Leitfaden behandelt verschiedene Methoden, darunter Node-Cron und Cloud-basierte Cron-Jobs, um das Backup-Management f\u00fcr Agenturen zu optimieren.","og_url":"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","article_published_time":"2024-11-04T08:01:58+00:00","article_modified_time":"2024-12-10T14:23:26+00:00","og_image":[{"width":1470,"height":735,"url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png","type":"image\/png"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Dieser Leitfaden behandelt verschiedene Methoden, darunter Node-Cron und Cloud-basierte Cron-Jobs, um das Backup-Management f\u00fcr Agenturen zu optimieren.","twitter_image":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API-1024x512.png","twitter_creator":"@olawanle_joel","twitter_site":"@Kinsta_DE","twitter_misc":{"Verfasst von":"Joel Olawanle","Gesch\u00e4tzte Lesezeit":"15\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Planen von Backups f\u00fcr mehrere Websites mit der Kinsta API","datePublished":"2024-11-04T08:01:58+00:00","dateModified":"2024-12-10T14:23:26+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/"},"wordCount":2335,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png","inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/","url":"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/","name":"Planung von Backups f\u00fcr mehrere Websites mit der Kinsta-API","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png","datePublished":"2024-11-04T08:01:58+00:00","dateModified":"2024-12-10T14:23:26+00:00","description":"Dieser Leitfaden behandelt verschiedene Methoden, darunter Node-Cron und Cloud-basierte Cron-Jobs, um das Backup-Management f\u00fcr Agenturen zu optimieren.","breadcrumb":{"@id":"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#primaryimage","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2024\/11\/schedule-backup-for-multiple-sites-with-kinsta-API.png","width":1470,"height":735},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/de\/blog\/planen-backups-mehrere-websites-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/de\/"},{"@type":"ListItem","position":2,"name":"API","item":"https:\/\/kinsta.com\/de\/thema\/api\/"},{"@type":"ListItem","position":3,"name":"Planen von Backups f\u00fcr mehrere Websites mit der Kinsta API"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/de\/#website","url":"https:\/\/kinsta.com\/de\/","name":"Kinsta\u00ae","description":"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen","publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/de\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","https:\/\/x.com\/Kinsta_DE","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","caption":"Joel Olawanle"},"description":"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.","sameAs":["https:\/\/joelolawanle.com\/","https:\/\/www.linkedin.com\/in\/olawanlejoel\/","https:\/\/x.com\/olawanle_joel","https:\/\/www.youtube.com\/@joelolawanle"],"gender":"male","knowsAbout":["JavaScript","React","Next.js"],"knowsLanguage":["English"],"jobTitle":"Technical Editor","worksFor":"Kinsta","url":"https:\/\/kinsta.com\/de\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/71644","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/comments?post=71644"}],"version-history":[{"count":6,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/71644\/revisions"}],"predecessor-version":[{"id":71667,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/71644\/revisions\/71667"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/71644\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/71644\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/71644\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/71644\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/71644\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/71644\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/71644\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/71644\/translations\/es"},{"href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/71644\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media\/71645"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media?parent=71644"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/tags?post=71644"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/topic?post=71644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}