{"id":4917,"date":"2026-08-10T21:45:29","date_gmt":"2026-08-10T21:45:29","guid":{"rendered":"https:\/\/netguide.io\/linux\/cronjobs-linux-crontab-einrichten\/"},"modified":"2026-08-10T22:34:57","modified_gmt":"2026-08-10T22:34:57","slug":"cronjobs-linux-crontab-einrichten","status":"publish","type":"post","link":"https:\/\/netguide.io\/linux\/de\/cronjobs-linux-crontab-einrichten\/","title":{"rendered":"Cronjobs unter Linux einrichten mit crontab \u2013 Anleitung"},"content":{"rendered":"<script type=\"text\/plain\" data-tcf=\"waiting-for-consent\" data-id=\"4797\" data-bid=\"2\" data-placement=\"4798\">PGRpdiBpZD0ibmV0Z3VpZGVhLTkwNzk4MTc4NCIgY2xhc3M9Im5ldGd1aWRlYS1iZWZvcmUtY29udGVudCBuZXRndWlkZWEtZW50aXR5LXBsYWNlbWVudCI+PGRpdiBjbGFzcz0ibmV0Z3VpZGVhLWFkbGFiZWwiPkFkdmVydGlzZW1lbnRzPC9kaXY+PHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzP2NsaWVudD1jYS1wdWItNjI1ODU1NjI1NzI0NTk5OCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PGlucyBjbGFzcz0iYWRzYnlnb29nbGUiIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyIgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02MjU4NTU2MjU3MjQ1OTk4IiAKZGF0YS1hZC1zbG90PSIzNDk0MTE1MzQyIiAKZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPgo8c2NyaXB0PiAKKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsgCjwvc2NyaXB0Pgo8L2Rpdj4=<\/script>\n<p class=\"wp-block-paragraph\">Backups, Aufr\u00e4um-Skripte, regelm\u00e4\u00dfige Updates: Viele Aufgaben auf einem Linux-Server sollen automatisch zu festen Zeiten laufen. Genau daf\u00fcr gibt es Cron. In dieser Anleitung lernst du, wie du <strong>Cronjobs unter Linux mit crontab einrichtest<\/strong> \u2013 von der Syntax der f\u00fcnf Zeitfelder \u00fcber praktische Beispiele bis zu Logging und den h\u00e4ufigsten Fehlern.<\/p>\n\n\n\t\t\t\t<div class=\"wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-1ffd1ad5      \"\n\t\t\t\t\tdata-scroll= \"1\"\n\t\t\t\t\tdata-offset= \"30\"\n\t\t\t\t\tstyle=\"\"\n\t\t\t\t>\n\t\t\t\t<div class=\"uagb-toc__wrap\">\n\t\t\t\t\t\t<div class=\"uagb-toc__title\">\n\t\t\t\t\t\t\tInhaltsverzeichnis\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uagb-toc__list-wrap \">\n\t\t\t\t\t\t<ol class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#was-ist-cron\" class=\"uagb-toc-link__trigger\">Was ist Cron?<\/a><li class=\"uagb-toc__list\"><a href=\"#die-crontab-bearbeiten\" class=\"uagb-toc-link__trigger\">Die crontab bearbeiten<\/a><li class=\"uagb-toc__list\"><a href=\"#die-crontab-syntax-verstehen\" class=\"uagb-toc-link__trigger\">Die crontab-Syntax verstehen<\/a><ul class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#sonderzeichen\" class=\"uagb-toc-link__trigger\">Sonderzeichen<\/a><\/li><\/ul><\/li><li class=\"uagb-toc__list\"><a href=\"#praktische-beispiele\" class=\"uagb-toc-link__trigger\">Praktische Beispiele<\/a><li class=\"uagb-toc__list\"><a href=\"#spezielle-kurzschreibweisen\" class=\"uagb-toc-link__trigger\">Spezielle Kurzschreibweisen<\/a><li class=\"uagb-toc__list\"><a href=\"#system-crontab-und-crond\" class=\"uagb-toc-link__trigger\">System-Crontab und cron.d<\/a><li class=\"uagb-toc__list\"><a href=\"#ausgabe-und-logging\" class=\"uagb-toc-link__trigger\">Ausgabe und Logging<\/a><li class=\"uagb-toc__list\"><a href=\"#h\u00e4ufige-fehler-und-wie-du-sie-vermeidest\" class=\"uagb-toc-link__trigger\">H\u00e4ufige Fehler und wie du sie vermeidest<\/a><li class=\"uagb-toc__list\"><a href=\"#fazit\" class=\"uagb-toc-link__trigger\">Fazit<\/a><\/ul><\/ol>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Was ist Cron?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Cron<\/strong> ist der klassische Zeitplandienst unter Linux. Ein Hintergrunddienst (der \u201ecron daemon\u201c) pr\u00fcft jede Minute, ob eine geplante Aufgabe f\u00e4llig ist, und f\u00fchrt sie aus. Die einzelnen Auftr\u00e4ge nennt man <strong>Cronjobs<\/strong>. Sie werden in sogenannten crontab-Dateien (\u201ecron table\u201c) definiert \u2013 pro Benutzer eine eigene.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Die crontab bearbeiten<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Deine pers\u00f6nliche crontab bearbeitest du mit <code>crontab -e<\/code>. Beim ersten Aufruf fragt Linux nach einem Editor (meist <code>nano<\/code>). Die wichtigsten Befehle:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Befehl<\/th><th>Wirkung<\/th><\/tr><\/thead><tbody><tr><td><code>crontab -e<\/code><\/td><td>Eigene crontab bearbeiten<\/td><\/tr><tr><td><code>crontab -l<\/code><\/td><td>Eigene crontab anzeigen<\/td><\/tr><tr><td><code>crontab -r<\/code><\/td><td>Eigene crontab l\u00f6schen (Vorsicht!)<\/td><\/tr><tr><td><code>sudo crontab -e -u benutzer<\/code><\/td><td>crontab eines anderen Benutzers bearbeiten<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Die crontab-Syntax verstehen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Jede Zeile in der crontab besteht aus <strong>f\u00fcnf Zeitfeldern<\/strong> und dem auszuf\u00fchrenden Befehl:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Minute (0-59)\n# \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Stunde (0-23)\n# \u2502 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500 Tag des Monats (1-31)\n# \u2502 \u2502 \u2502 \u250c\u2500\u2500\u2500 Monat (1-12)\n# \u2502 \u2502 \u2502 \u2502 \u250c\u2500 Wochentag (0-7, 0 und 7 = Sonntag)\n# \u2502 \u2502 \u2502 \u2502 \u2502\n# * * * * *  auszuf\u00fchrender-befehl<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A737D\"># \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Minute (0-59)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A737D\"># \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Stunde (0-23)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A737D\"># \u2502 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500 Tag des Monats (1-31)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A737D\"># \u2502 \u2502 \u2502 \u250c\u2500\u2500\u2500 Monat (1-12)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A737D\"># \u2502 \u2502 \u2502 \u2502 \u250c\u2500 Wochentag (0-7, 0 und 7 = Sonntag)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A737D\"># \u2502 \u2502 \u2502 \u2502 \u2502<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A737D\"># * * * * *  auszuf\u00fchrender-befehl<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Die f\u00fcnf Felder im \u00dcberblick:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Feld<\/th><th>Bereich<\/th><th>Bedeutung<\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>0\u201359<\/td><td>Minute<\/td><\/tr><tr><td>2<\/td><td>0\u201323<\/td><td>Stunde<\/td><\/tr><tr><td>3<\/td><td>1\u201331<\/td><td>Tag des Monats<\/td><\/tr><tr><td>4<\/td><td>1\u201312<\/td><td>Monat<\/td><\/tr><tr><td>5<\/td><td>0\u20137<\/td><td>Wochentag (0 und 7 = Sonntag)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Sonderzeichen<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>*<\/code> \u2013 jeder Wert (z. B. jede Minute, jede Stunde).<\/li>\n\n\n\n<li><code>,<\/code> \u2013 Aufz\u00e4hlung: <code>0,15,30,45<\/code> bedeutet zur Minute 0, 15, 30 und 45.<\/li>\n\n\n\n<li><code>-<\/code> \u2013 Bereich: <code>1-5<\/code> im Wochentagsfeld bedeutet Montag bis Freitag.<\/li>\n\n\n\n<li><code>\/<\/code> \u2013 Schrittweite: <code>*\/10<\/code> im Minutenfeld bedeutet \u201ealle 10 Minuten\u201c.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Praktische Beispiele<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Zeilen zeigen typische Zeitpl\u00e4ne \u2013 kopiere sie als Ausgangspunkt in deine crontab:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Cron-Ausdruck<\/th><th>Bedeutung<\/th><\/tr><\/thead><tbody><tr><td><code>*\/5 * * * *<\/code><\/td><td>Alle 5 Minuten<\/td><\/tr><tr><td><code>0 * * * *<\/code><\/td><td>Jede volle Stunde<\/td><\/tr><tr><td><code>30 2 * * *<\/code><\/td><td>T\u00e4glich um 02:30 Uhr<\/td><\/tr><tr><td><code>0 3 * * 0<\/code><\/td><td>Jeden Sonntag um 03:00 Uhr<\/td><\/tr><tr><td><code>0 0 1 * *<\/code><\/td><td>Am 1. jedes Monats um Mitternacht<\/td><\/tr><tr><td><code>0 9-17 * * 1-5<\/code><\/td><td>Werktags st\u00fcndlich zwischen 9 und 17 Uhr<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ein konkreter Job, der t\u00e4glich um 2:30 Uhr ein Backup-Skript ausf\u00fchrt, sieht so aus:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>30 2 * * * \/home\/user\/scripts\/backup.sh<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">30<\/span><span style=\"color: #79B8FF\"> 2<\/span><span style=\"color: #79B8FF\"> *<\/span><span style=\"color: #79B8FF\"> *<\/span><span style=\"color: #79B8FF\"> *<\/span><span style=\"color: #9ECBFF\"> \/home\/user\/scripts\/backup.sh<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Spezielle Kurzschreibweisen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Statt der f\u00fcnf Felder kannst du auch praktische Schl\u00fcsselw\u00f6rter verwenden:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>K\u00fcrzel<\/th><th>Entspricht<\/th><\/tr><\/thead><tbody><tr><td><code>@reboot<\/code><\/td><td>Einmal bei jedem Systemstart<\/td><\/tr><tr><td><code>@hourly<\/code><\/td><td><code>0 * * * *<\/code><\/td><\/tr><tr><td><code>@daily<\/code> \/ <code>@midnight<\/code><\/td><td><code>0 0 * * *<\/code><\/td><\/tr><tr><td><code>@weekly<\/code><\/td><td><code>0 0 * * 0<\/code><\/td><\/tr><tr><td><code>@monthly<\/code><\/td><td><code>0 0 1 * *<\/code><\/td><\/tr><tr><td><code>@yearly<\/code><\/td><td><code>0 0 1 1 *<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">System-Crontab und cron.d<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Neben den benutzereigenen crontabs gibt es systemweite Cronjobs. Sie unterscheiden sich in einem wichtigen Punkt: Bei ihnen steht <strong>vor dem Befehl zus\u00e4tzlich der Benutzer<\/strong>, unter dem der Job laufen soll.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>\/etc\/crontab<\/code> \u2013 zentrale System-crontab (mit Benutzerfeld).<\/li>\n\n\n\n<li><code>\/etc\/cron.d\/<\/code> \u2013 Verzeichnis f\u00fcr einzelne Job-Dateien (ideal f\u00fcr Pakete und eigene Skripte).<\/li>\n\n\n\n<li><code>\/etc\/cron.daily\/<\/code>, <code>cron.weekly\/<\/code>, <code>cron.monthly\/<\/code> \u2013 Skripte, die einfach in diese Ordner gelegt werden und entsprechend regelm\u00e4\u00dfig laufen.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Eine Zeile in <code>\/etc\/cron.d\/mein-job<\/code> mit Benutzerfeld sieht so aus:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>30 2 * * * root \/usr\/local\/bin\/mein-skript.sh<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">30<\/span><span style=\"color: #79B8FF\"> 2<\/span><span style=\"color: #79B8FF\"> *<\/span><span style=\"color: #79B8FF\"> *<\/span><span style=\"color: #79B8FF\"> *<\/span><span style=\"color: #9ECBFF\"> root<\/span><span style=\"color: #9ECBFF\"> \/usr\/local\/bin\/mein-skript.sh<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Ausgabe und Logging<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Standardm\u00e4\u00dfig verschickt Cron die Ausgabe eines Jobs per lokaler E-Mail an den Benutzer. Praktischer ist es meist, die Ausgabe in eine Logdatei umzuleiten. Mit <code>&gt;&gt; datei 2&gt;&1<\/code> landen sowohl normale Ausgabe als auch Fehlermeldungen im Log:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>30 2 * * * \/home\/user\/scripts\/backup.sh &gt;&gt; \/var\/log\/backup.log 2&gt;&amp;1<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">30<\/span><span style=\"color: #79B8FF\"> 2<\/span><span style=\"color: #79B8FF\"> *<\/span><span style=\"color: #79B8FF\"> *<\/span><span style=\"color: #79B8FF\"> *<\/span><span style=\"color: #9ECBFF\"> \/home\/user\/scripts\/backup.sh<\/span><span style=\"color: #F97583\"> >><\/span><span style=\"color: #9ECBFF\"> \/var\/log\/backup.log<\/span><span style=\"color: #F97583\"> 2>&#x26;1<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">M\u00f6chtest du Benachrichtigungen per Mail an eine bestimmte Adresse senden, setze am Anfang der crontab die Variable <code>MAILTO<\/code>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>MAILTO=\"admin@example.com\"<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #E1E4E8\">MAILTO<\/span><span style=\"color: #F97583\">=<\/span><span style=\"color: #9ECBFF\">\"admin@example.com\"<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Wann welcher Job vom System gestartet wurde, kannst du zudem im System-Log nachvollziehen:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>grep CRON \/var\/log\/syslog\n# oder auf systemd-Systemen:\njournalctl -u cron<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">grep<\/span><span style=\"color: #9ECBFF\"> CRON<\/span><span style=\"color: #9ECBFF\"> \/var\/log\/syslog<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A737D\"># oder auf systemd-Systemen:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #B392F0\">journalctl<\/span><span style=\"color: #79B8FF\"> -u<\/span><span style=\"color: #9ECBFF\"> cron<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">H\u00e4ufige Fehler und wie du sie vermeidest<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Falscher PATH:<\/strong> Cron l\u00e4uft mit einer minimalen Umgebung. Verwende in Skripten <strong>absolute Pfade<\/strong> (z. B. <code>\/usr\/bin\/php<\/code> statt nur <code>php<\/code>) oder setze am Anfang der crontab eine <code>PATH<\/code>-Variable.<\/li>\n\n\n\n<li><strong>Das Prozentzeichen:<\/strong> In crontab-Zeilen hat <code>%<\/code> eine Sonderbedeutung (Zeilenumbruch f\u00fcr die Eingabe). Willst du es w\u00f6rtlich nutzen, maskiere es mit <code>\\%<\/code>.<\/li>\n\n\n\n<li><strong>Skript nicht ausf\u00fchrbar:<\/strong> Stelle sicher, dass dein Skript ausf\u00fchrbar ist (<code>chmod +x skript.sh<\/code>) und mit einer Shebang-Zeile wie <code>#!\/bin\/bash<\/code> beginnt.<\/li>\n\n\n\n<li><strong>Fehlende Leerzeile am Ende:<\/strong> Manche cron-Implementierungen verlangen, dass die crontab mit einer leeren Zeile endet.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Tipp: Pr\u00fcfe die richtige Version deiner Programme vorab \u2013 etwa mit unserer Anleitung <a href=\"https:\/\/netguide.io\/linux\/de\/php-version-unter-linux-prufen-alle-versionen-anzeigen\/\">PHP-Version unter Linux pr\u00fcfen<\/a>, bevor du einen PHP-Cronjob einrichtest.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Fazit<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Mit crontab automatisierst du wiederkehrende Aufgaben unter Linux zuverl\u00e4ssig. Der Schl\u00fcssel ist die <strong>Syntax der f\u00fcnf Zeitfelder<\/strong> \u2013 hast du sie einmal verinnerlicht, richtest du jeden Zeitplan in Sekunden ein. Achte auf absolute Pfade und ein sauberes Logging, dann laufen deine Cronjobs stabil im Hintergrund. Ein typischer Anwendungsfall ist das <a href=\"https:\/\/netguide.io\/linux\/de\/docker-aufraeumen-speicherplatz-freigeben\/\">automatische Aufr\u00e4umen von Docker<\/a>. F\u00fcr dauerhaft laufende Dienste ist statt Cron ein <a href=\"https:\/\/netguide.io\/linux\/de\/systemd-service-erstellen-linux\/\">systemd-Service<\/a> die bessere Wahl \u2013 und die passenden <a href=\"https:\/\/netguide.io\/linux\/de\/bash-skript-erstellen-linux\/\">Bash-Skripte schreibst du so<\/a>. Wenn du deine Skripte per SSH auf den Server bringst, hilft dir <a href=\"https:\/\/netguide.io\/linux\/de\/ssh-key-auf-einem-linux-server-hinterlegen\/\">SSH-Key hinterlegen<\/a>.<\/p>\n<script type=\"text\/plain\" data-tcf=\"waiting-for-consent\" data-id=\"4799\" data-bid=\"2\" data-placement=\"4800\">PGRpdiBpZD0ibmV0Z3VpZGVhLTM0NTE2NjU1MDIiIGNsYXNzPSJuZXRndWlkZWEtYWZ0ZXItY29udGVudCBuZXRndWlkZWEtZW50aXR5LXBsYWNlbWVudCI+PGRpdiBjbGFzcz0ibmV0Z3VpZGVhLWFkbGFiZWwiPkFkdmVydGlzZW1lbnRzPC9kaXY+PHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzP2NsaWVudD1jYS1wdWItNjI1ODU1NjI1NzI0NTk5OCIgY3Jvc3NvcmlnaW49ImFub255bW91cyI+PC9zY3JpcHQ+PGlucyBjbGFzcz0iYWRzYnlnb29nbGUiIHN0eWxlPSJkaXNwbGF5OmJsb2NrOyIgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02MjU4NTU2MjU3MjQ1OTk4IiAKZGF0YS1hZC1zbG90PSI0NTU5Nzg1MDAyIiAKZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPgo8c2NyaXB0PiAKKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsgCjwvc2NyaXB0Pgo8L2Rpdj4=<\/script>","protected":false},"excerpt":{"rendered":"<p>Cronjobs unter Linux mit crontab einrichten: Syntax der f\u00fcnf Zeitfelder, praktische Beispiele, Logging und die h\u00e4ufigsten Fehler rund um PATH und Ausgaben.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[9],"tags":[],"class_list":["post-4917","post","type-post","status-publish","format-standard","hentry","category-linux"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Tobias Pries","author_link":"https:\/\/netguide.io\/linux\/author\/tobias-pries\/"},"uagb_comment_info":0,"uagb_excerpt":"Cronjobs unter Linux mit crontab einrichten: Syntax der f\u00fcnf Zeitfelder, praktische Beispiele, Logging und die h\u00e4ufigsten Fehler rund um PATH und Ausgaben.","brizy_media":[],"_links":{"self":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/4917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/comments?post=4917"}],"version-history":[{"count":2,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/4917\/revisions"}],"predecessor-version":[{"id":4940,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/posts\/4917\/revisions\/4940"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/media?parent=4917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/categories?post=4917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/linux\/wp-json\/wp\/v2\/tags?post=4917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}