{"id":17082,"date":"2023-06-15T17:34:13","date_gmt":"2023-06-15T15:34:13","guid":{"rendered":"https:\/\/contabo.com\/blog\/?p=17082"},"modified":"2024-03-11T10:12:07","modified_gmt":"2024-03-11T09:12:07","slug":"so-funktioniert-die-cron-syntax","status":"publish","type":"post","link":"https:\/\/contabo.com\/blog\/de\/so-funktioniert-die-cron-syntax\/","title":{"rendered":"So funktioniert die Cron Syntax"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"630\" src=\"https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/05\/blog-head_syntax-of-cron.jpg\" alt=\"So funktioniert der Cron Syntax (head image)\" class=\"wp-image-16982\" srcset=\"https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/05\/blog-head_syntax-of-cron.jpg 1200w, https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/05\/blog-head_syntax-of-cron-600x315.jpg 600w, https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/05\/blog-head_syntax-of-cron-768x403.jpg 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-tl-dr\">TL; DR;<\/h2>\n\n\n\n<p>Wahrscheinlich bist du hierher gekommen, weil du einen Cronjob einrichten willst und Hilfe bei der Syntax der Zeitplanung brauchst. Hier sind ein paar Beispiele, die Dir weiterhelfen sollten:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Minuten<\/strong><\/td><td><strong>Stunden<\/strong><\/td><td><strong>Tag<\/strong>&nbsp;<\/td><td><strong>Monat<\/strong><\/td><td><strong>Wochentag<\/strong>&nbsp;<\/td><td><strong>Erkl\u00e4rung<\/strong><\/td><\/tr><tr><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>Jede Minute<\/td><\/tr><tr><td>0&nbsp;<\/td><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>Jede Stunde<\/td><\/tr><tr><td>30&nbsp;<\/td><td>8&nbsp;<\/td><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>Jeden Tag um 8:30 Uhr<\/td><\/tr><tr><td>0&nbsp;<\/td><td>0&nbsp;<\/td><td>1&nbsp;<\/td><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>Jeden ersten Tag des Monats um 0:00 Uhr<\/td><\/tr><tr><td>0&nbsp;<\/td><td>2&nbsp;<\/td><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>1&nbsp;<\/td><td>Jeden Montag um 2:00 Uhr<\/td><\/tr><tr><td>45&nbsp;<\/td><td>8&nbsp;<\/td><td>1&nbsp;<\/td><td>1&nbsp;<\/td><td>*&nbsp;<\/td><td>Um 8:45 Uhr am 1. Januar<\/td><\/tr><tr><td>0&nbsp;<\/td><td>*\/2&nbsp;<\/td><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>Alle zwei Stunden<\/td><\/tr><tr><td>0&nbsp;<\/td><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>*&nbsp;<\/td><td>1,3,5&nbsp;<\/td><td>Jede Stunde am Montag, Mittwoch und Freitag<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Wenn du also jeden Tag um 8:30 Uhr einen Befehl ausf\u00fchren musst, solltest du folgendes in die Crontab eintragen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em>30 8 * * * echo \u201cHello world!\u201d<\/em><\/code><\/pre>\n\n\n\n<p>Wenn du mit verschiedenen Ausdr\u00fccken herumspielen und verstehen willst, was sie bewirken, k\u00f6nnen wir dir das Tool <a href=\"https:\/\/crontab.guru\/#30_8_*_*_*\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">crontab.guru<\/a> sehr empfehlen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-was-ist-cron\">Was ist Cron?<\/h2>\n\n\n\n<p>Cron ist ein Tool zur Planung von Auftr\u00e4gen, die oft als Cronjobs bezeichnet werden. Wann ein Auftrag ausgef\u00fchrt wird, wird durch den Planungsausdruck gesteuert, eine in 5 Teile aufgeteilte Zeichenkette:<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"1\">\n<li>Minuten<\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>Stunden<\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li>Tag des Monats<\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>Monat<\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list\" start=\"5\">\n<li>Wochentag<\/li>\n<\/ol>\n\n\n\n<p>Jede Minute kann Cron dann die aktuelle Zeit mit dem Planungsausdruck abgleichen, um festzustellen, ob der Befehl ausgef\u00fchrt werden soll oder nicht.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-anderungen-an-der-crontab-vornehmen\">\u00c4nderungen an der Crontab vornehmen<\/h2>\n\n\n\n<p>Das Einrichten eines neuen Cronjobs ist mit der crontab verbl\u00fcffend einfach:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em>crontab \u2013e<\/em><\/code><\/pre>\n\n\n\n<p>Damit \u00f6ffnest du die crontab-Datei mit deinem bevorzugten Texteditor. Mach dir keine Sorgen, wenn die Datei v\u00f6llig leer ist. Das bedeutet nur, dass noch keine Cronjobs vorhanden sind.<\/p>\n\n\n\n<p>F\u00fcgen wir also unseren ersten Cronjob hinzu, indem wir eine neue Zeile in die crontab-Datei einf\u00fcgen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em>* * * * * date &gt;&gt; \/tmp\/cronjob-output.txt<\/em><\/code><\/pre>\n\n\n\n<p>Erk\u00e4rung:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td colspan=\"5\">Ausdruck<\/td><td>Auszuf\u00fchrender Befehl<\/td><\/tr><tr><td><strong>*<\/strong>&nbsp;<\/td><td><strong>*<\/strong>&nbsp;<\/td><td><strong>*<\/strong>&nbsp;<\/td><td><strong>*<\/strong>&nbsp;<\/td><td><strong>*<\/strong>&nbsp;<\/td><td><strong>date &gt;&gt; \/tmp\/cronjob-output.txt<\/strong>&nbsp;<\/td><\/tr><tr><td>Jede Minute&#8230;<\/td><td>&#8230;jede Stunde&#8230;<\/td><td>&#8230; an jedem Tag des Monats&#8230;<\/td><td>&#8230;jeden Monat&#8230;<\/td><td>&#8230; an jedem Wochentag&#8230;<\/td><td>&#8230; wird das aktuelle Datum in die Datei &#8222;\/tmo\/cronjob-output.txt&#8220; geschrieben.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Sicher nun die Datei, und der neue Job wird ausgef\u00fchrt. Warte ein paar Minuten und \u00f6ffnen dann die Datei &#8222;\/tmp\/ cronjob-output.txt&#8220; &#8211; Du solltest sehen, wann der Cronjob ausgef\u00fchrt wurde:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat \/tmp\/cronjob-output.txt<\/code><\/pre>\n\n\n\n<p>Output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Mon Mar  6 20:09:00 CET 2023 \nMon Mar  6 20:10:00 CET 2023 \nMon Mar  6 20:11:00 CET 2023<\/code><\/pre>\n\n\n\n<p>Wenn wir den Eintrag in der crontab wie folgt \u00e4ndern:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em>*\/2 * * * * date &gt;&gt; \/tmp\/cronjob-output.txt<\/em><\/code><\/pre>\n\n\n\n<p>Und nachdem wir einige Minuten gewartet haben, k\u00f6nnen wir sehen, dass der Befehl nun alle zwei Minuten statt jede Minute ausgef\u00fchrt wird:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em>cat \/tmp\/cronjob-output.txt<\/em><\/code><\/pre>\n\n\n\n<p>Output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Mon Mar  6 20:12:00 CET 2023 \nMon Mar  6 20:14:00 CET 2023 \nMon Mar  6 20:16:00 CET 2023 \nMon Mar  6 20:18:00 CET 2023 \nMon Mar  6 20:20:00 CET 2023<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cron-zeitplan-ausdrucke\">Cron Zeitplan Ausdr\u00fccke<\/h2>\n\n\n\n<p>Hier sind einige weitere Beispiele f\u00fcr Cron-Scheduling-Ausdr\u00fccke:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-stundlich-von-8-bis-17-uhr\">St\u00fcndlich von 8 bis 17 Uhr<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code><em>0 8-17 * * * echo \u201cHello world\u201d<\/em><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-jeden-montag-um-8-uhr-morgens\">Jeden Montag um 8 Uhr morgens<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code><em>0 8 * * 1 echo \u201cIt is Monday, 8am\u201d<\/em><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-taglich-zu-einer-speziellen-zeit\">T\u00e4glich zu einer speziellen Zeit<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code><em>30 15 * * * echo \u201cCurrent time: 15:30\u201d<\/em><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-alle-30-sekunden\">Alle 30 Sekunden<\/h3>\n\n\n\n<p>Um einen Cronjob mehrmals pro Minute laufen zu lassen, m\u00fcssen wir mehrere Cronjobs einrichten, die f\u00fcr dieselbe Zeit, aber mit unterschiedlichen Verz\u00f6gerungen geplant sind. In diesem Fall wird der erste Cronjob sofort ausgef\u00fchrt, w\u00e4hrend der andere 30 Sekunden wartet, damit sie alle 30 Sekunden ausgef\u00fchrt werden:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em>* * * * * echo \u201cFirst execution this minute\u201d<\/em>&nbsp;\n<em>* * * * * (sleep 30; echo \u201cSecond execution this minute\u201d)<\/em><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-jeden-ersten-tag-des-monats\">Jeden ersten Tag des Monats<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code><em>0 0 1 * * echo \u201cHello, it is the first day of the month!\u201d<\/em><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-zugriff-auf-die-crontabs-anderer-benutzer\">Zugriff auf die Crontabs anderer Benutzer<\/h2>\n\n\n\n<p>Falls du auf die crontab eines anderen Benutzers zugreifen musst, kannst du dies tun, indem du den crontab-Befehl mit dem sudo-Befehl als anderer Benutzer ausf\u00fchrst:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo crontab -e -u www-data<\/code><\/pre>\n\n\n\n<p>In diesem Fall k\u00f6nnen wir die crontab des Benutzers www-data \u00f6ffnen. Es ist auch m\u00f6glich, einfach mit dem Befehl su zu diesem Benutzer zu wechseln, allerdings funktioniert diese Methode nicht bei deaktivierten Benutzern oder Benutzern ohne Shell-Zugang.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>su &#91;Username]<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>crontab -e<\/code><\/pre>\n\n\n\n<p>Wenn Du mehr \u00fcber Benutzer erfahren m\u00f6chtest, insbesondere \u00fcber den Root-Benutzer, dann schau Dir <a href=\"https:\/\/contabo.com\/blog\/de\/superuser-und-root-guide\/\" target=\"_blank\" rel=\"noreferrer noopener\">diesen Artikel<\/a> von uns an.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Artikel erf\u00e4hrst du, wie der Cron Syntax zum planen von Aufgaben auf deinem Linux Server funktioniert.<\/p>\n","protected":false},"author":50,"featured_media":16982,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_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":"","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":"set","ast-page-background-enabled":"default","ast-page-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":"","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-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":"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":""},"mobile":{"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":""}},"footnotes":""},"categories":[1399],"tags":[],"ppma_author":[1491],"class_list":["post-17082","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials"],"uagb_featured_image_src":{"full":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/05\/blog-head_syntax-of-cron.jpg",1200,630,false],"thumbnail":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/05\/blog-head_syntax-of-cron-150x150.jpg",150,150,true],"medium":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/05\/blog-head_syntax-of-cron-600x315.jpg",600,315,true],"medium_large":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/05\/blog-head_syntax-of-cron-768x403.jpg",768,403,true],"large":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/05\/blog-head_syntax-of-cron.jpg",1200,630,false],"1536x1536":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/05\/blog-head_syntax-of-cron.jpg",1200,630,false],"2048x2048":["https:\/\/contabo.com\/blog\/wp-content\/uploads\/2023\/05\/blog-head_syntax-of-cron.jpg",1200,630,false]},"uagb_author_info":{"display_name":"Tobias Mildenberger","author_link":"https:\/\/contabo.com\/blog\/de\/author\/tobias\/"},"uagb_comment_info":0,"uagb_excerpt":"In diesem Artikel erf\u00e4hrst du, wie der Cron Syntax zum planen von Aufgaben auf deinem Linux Server funktioniert.","authors":[{"term_id":1491,"user_id":50,"is_guest":0,"slug":"tobias","display_name":"Tobias Mildenberger","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/077178d5dce6c3d4c0c0396857a7e544bfdf8adf04145fff5160b33a22e28b1f?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts\/17082","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/comments?post=17082"}],"version-history":[{"count":3,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts\/17082\/revisions"}],"predecessor-version":[{"id":19234,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/posts\/17082\/revisions\/19234"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/media\/16982"}],"wp:attachment":[{"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/media?parent=17082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/categories?post=17082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/tags?post=17082"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/contabo.com\/blog\/de\/wp-json\/wp\/v2\/ppma_author?post=17082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}