{"id":58,"date":"2026-05-28T08:14:28","date_gmt":"2026-05-28T08:14:28","guid":{"rendered":"https:\/\/netguide.io\/tools\/?p=58"},"modified":"2026-05-28T08:16:14","modified_gmt":"2026-05-28T08:16:14","slug":"cronjob-generator","status":"publish","type":"post","link":"https:\/\/netguide.io\/tools\/de\/cronjob-generator\/","title":{"rendered":"Cronjob-Generator"},"content":{"rendered":"<div id=\"netgu-2416405136\" class=\"netgu-before-content netgu-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-6258556257245998\" \ndata-ad-slot=\"3494115342\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n<div class=\"wp-cron-container\">\n    <h3 class=\"wp-cron-title\">Cronjob Generator<\/h3>\n\n    <div class=\"wp-cron-group\">\n        <label>Common Presets<\/label>\n        <select id=\"wp-cron-preset\" onchange=\"applyPreset()\">\n            <option value=\"custom\">&#8212; Custom Configuration &#8212;<\/option>\n            <option value=\"min15\">Every 15 Minutes (*\/15 * * * *)<\/option>\n            <option value=\"hourly\">Every Hour (0 * * * *)<\/option>\n            <option value=\"daily\">Every Day at Midnight (0 0 * * *)<\/option>\n            <option value=\"weekly\">Every Sunday at 4 AM (0 4 * * 0)<\/option>\n            <option value=\"monthly\">First Day of Month at Midnight (0 0 1 * *)<\/option>\n        <\/select>\n    <\/div>\n\n    <div class=\"wp-cron-grid\">\n        <div class=\"wp-cron-group\">\n            <label>Minute<\/label>\n            <input type=\"text\" id=\"cron-min\" value=\"*\" oninput=\"updateCron()\">\n            <span class=\"cron-hint\">0-59 or * or *\/15<\/span>\n        <\/div>\n        <div class=\"wp-cron-group\">\n            <label>Hour<\/label>\n            <input type=\"text\" id=\"cron-hour\" value=\"*\" oninput=\"updateCron()\">\n            <span class=\"cron-hint\">0-23 or * or *\/2<\/span>\n        <\/div>\n        <div class=\"wp-cron-group\">\n            <label>Day of Month<\/label>\n            <input type=\"text\" id=\"cron-day\" value=\"*\" oninput=\"updateCron()\">\n            <span class=\"cron-hint\">1-31 or *<\/span>\n        <\/div>\n        <div class=\"wp-cron-group\">\n            <label>Month<\/label>\n            <input type=\"text\" id=\"cron-month\" value=\"*\" oninput=\"updateCron()\">\n            <span class=\"cron-hint\">1-12 or *<\/span>\n        <\/div>\n        <div class=\"wp-cron-group\" class=\"wp-cron-wide\">\n            <label>Day of Week<\/label>\n            <select id=\"cron-wday\" onchange=\"updateCron()\">\n                <option value=\"*\">Every Day (*)<\/option>\n                <option value=\"1-5\">Weekdays (Mon-Fri)<\/option>\n                <option value=\"0,6\">Weekend (Sat-Sun)<\/option>\n                <option value=\"1\">Monday (1)<\/option>\n                <option value=\"2\">Tuesday (2)<\/option>\n                <option value=\"3\">Wednesday (3)<\/option>\n                <option value=\"4\">Thursday (4)<\/option>\n                <option value=\"5\">Friday (5)<\/option>\n                <option value=\"6\">Saturday (6)<\/option>\n                <option value=\"0\">Sunday (0)<\/option>\n            <\/select>\n        <\/div>\n    <\/div>\n\n    <div class=\"wp-cron-group\">\n        <label>Command to Execute<\/label>\n        <input type=\"text\" id=\"cron-command\" value=\"\/path\/to\/script.sh\" placeholder=\"e.g. php \/var\/www\/cron.php\" oninput=\"updateCron()\">\n    <\/div>\n\n    <div class=\"wp-cron-results\">\n        <div class=\"wp-cron-res-item wp-cron-highlight\">\n            <span>Generated Cron expression:<\/span>\n            <code id=\"res-cron-string\">* * * * * \/path\/to\/script.sh<\/code>\n        <\/div>\n        <div class=\"wp-cron-res-item\" style=\"background: #fdfdfd; border: 1px dashed #ddd; padding: 12px; flex-direction: column; align-items: flex-start; gap: 5px;\">\n            <span style=\"font-size: 11px; text-transform: uppercase; font-weight: bold; color: #777;\">Human Readable Meaning:<\/span>\n            <span id=\"res-cron-text\" style=\"color: #555; font-style: italic; font-size: 13px;\">Runs every minute of every hour, every day.<\/span>\n        <\/div>\n    <\/div>\n\n    <div class=\"wp-cron-footer\">\n        <button onclick=\"copyCron()\" id=\"btn-copy-cron\">Copy Cronjob<\/button>\n    <\/div>\n\n    <style>\n        .wp-cron-container { max-width: 100%; background: #fff; padding: 20px; border: 1px solid #ddd; border-radius: 10px; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; color: #333; box-shadow: 0 2px 10px rgba(0,0,0,0.05); box-sizing: border-box; }\n        .wp-cron-title { margin: 0 0 15px 0; color: #2271b1; font-size: 1.4rem; border-bottom: 1px solid #eee; padding-bottom: 10px; }\n        \n        .wp-cron-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 15px; }\n        @media (max-width: 600px) { .wp-cron-grid { grid-template-columns: 1fr 1fr; } }\n        \n        .wp-cron-group { margin-bottom: 15px; display: flex; flex-direction: column; }\n        .wp-cron-group label { display: block; font-size: 11px; font-weight: bold; margin-bottom: 5px; text-transform: uppercase; color: #666; }\n        .wp-cron-group input, .wp-cron-group select { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; font-family: monospace; font-size: 14px; height: 40px; }\n        .cron-hint { font-size: 10px; color: #999; margin-top: 3px; font-family: monospace; }\n        \n        .wp-cron-results { margin-top: 20px; border-top: 2px solid #eee; padding-top: 15px; }\n        .wp-cron-res-item { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; font-size: 14px; border-radius: 5px; box-sizing: border-box; }\n        .wp-cron-highlight { background: #f0f6fb; padding: 12px; border: 1px solid #2271b1; }\n        .wp-cron-highlight code { font-family: monospace; font-weight: bold; color: #2271b1; font-size: 14px; word-break: break-all; }\n        \n        .wp-cron-footer { display: flex; justify-content: flex-end; margin-top: 15px; }\n        #btn-copy-cron { background: #46b450; color: #fff; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; font-weight: bold; font-size: 13px; transition: 0.2s; width: 100%; }\n        #btn-copy-cron:hover { background: #399a42; }\n    <\/style>\n\n    <script>\n        function applyPreset() {\n            const preset = document.getElementById('wp-cron-preset').value;\n            if (preset === 'custom') return;\n\n            const fields = {\n                'min15':  ['*\/15', '*', '*', '*', '*'],\n                'hourly': ['0', '*', '*', '*', '*'],\n                'daily':  ['0', '0', '*', '*', '*'],\n                'weekly': ['0', '4', '*', '*', '0'],\n                'monthly':['0', '0', '1', '*', '*']\n            };\n\n            const selected = fields[preset];\n            document.getElementById('cron-min').value = selected[0];\n            document.getElementById('cron-hour').value = selected[1];\n            document.getElementById('cron-day').value = selected[2];\n            document.getElementById('cron-month').value = selected[3];\n            document.getElementById('cron-wday').value = selected[4];\n\n            updateCron();\n        }\n\n        function updateCron() {\n            \/\/ Reset Preset Dropdown if user alters custom values\n            if (arguments.length === 0 && document.activeElement && document.activeElement.id !== 'wp-cron-preset') {\n                document.getElementById('wp-cron-preset').value = 'custom';\n            }\n\n            const min = document.getElementById('cron-min').value.trim() || '*';\n            const hour = document.getElementById('cron-hour').value.trim() || '*';\n            const day = document.getElementById('cron-day').value.trim() || '*';\n            const month = document.getElementById('cron-month').value.trim() || '*';\n            const wday = document.getElementById('cron-wday').value;\n            const cmd = document.getElementById('cron-command').value.trim();\n\n            const expression = `${min} ${hour} ${day} ${month} ${wday}`;\n            document.getElementById('res-cron-string').innerText = expression + (cmd ? ' ' + cmd : '');\n\n            generateExplanation(min, hour, day, month, wday);\n        }\n\n        function generateExplanation(min, hour, day, month, wday) {\n            let text = \"Runs \";\n            \n            \/\/ Minutes logic\n            if (min === '*') text += \"every minute \";\n            else if (min.startsWith('*\/')) text += `every ${min.replace('*\/', '')} minutes `;\n            else text += `at minute ${min} `;\n\n            \/\/ Hours logic\n            if (hour === '*') text += \"of every hour, \";\n            else if (hour.startsWith('*\/')) text += `every ${hour.replace('*\/', '')} hours, `;\n            else text += `at ${hour.padStart(2, '0')}:XX, `;\n\n            \/\/ Days logic\n            if (day === '*' && wday === '*') {\n                text += \"every day \";\n            } else {\n                if (day !== '*') text += `on day ${day} of the month `;\n                \n                if (wday !== '*') {\n                    const daysMap = {'1-5': \"weekdays\", '0,6': \"weekends\", '1': \"Mondays\", '2': \"Tuesdays\", '3': \"Wednesdays\", '4': \"Thursdays\", '5': \"Fridays\", '6': \"Saturdays\", '0': \"Sundays\"};\n                    text += (day !== '*' ? 'and on ' : 'on ') + daysMap[wday] + ' ';\n                }\n            }\n\n            \/\/ Month logic\n            if (month === '*') text += \"of every month.\";\n            else {\n                const monthsMap = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n                const mIdx = parseInt(month) - 1;\n                text += `only in ${monthsMap[mIdx] || 'Month ' + month}.`;\n            }\n\n            \/\/ Clean up text format slightly if specific times are combined\n            if (!isNaN(min) && !isNaN(hour)) {\n                text = text.replace(\/at minute \\d+ at \\d+:\\w+,\/, `at ${hour.padStart(2, '0')}:${min.padStart(2, '0')}`);\n            }\n\n            document.getElementById('res-cron-text').innerText = text;\n        }\n\n        function copyCron() {\n            const codeText = document.getElementById('res-cron-string').innerText;\n            navigator.clipboard.writeText(codeText).then(() => {\n                const btn = document.getElementById('btn-copy-cron');\n                btn.innerText = 'Copied to Clipboard!';\n                setTimeout(() => { btn.innerText = 'Copy Cronjob'; }, 2000);\n            });\n        }\n\n        \/\/ Run on start\n        updateCron();\n    <\/script>\n<\/div>\n\n\n<div id=\"netgu-3669422242\"><script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\"\r\n     crossorigin=\"anonymous\"><\/script>\r\n<!-- NetGuide.io-After-Widget-Tools -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-6258556257245998\"\r\n     data-ad-slot=\"5175852350\"\r\n     data-ad-format=\"auto\"\r\n     data-full-width-responsive=\"true\"><\/ins>\r\n<script>\r\n     (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Aufbau der Crontab-Syntax<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn du die Zeile manuell anpassen oder deinen Besuchern erkl\u00e4ren m\u00f6chtest, hilft diese klassische Struktur. Ein Cronjob besteht immer aus <strong>5 Zeit-Feldern<\/strong>, gefolgt vom auszuf\u00fchrenden Befehl:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>* * * * * \/pfad\/zum\/befehl.sh\n\u2502   \u2502   \u2502   \u2502   \u2502\n\u2502   \u2502   \u2502   \u2502   \u2514\u2500 Wochentag (0 - 6) (Sonntag ist 0 oder 7)\n\u2502   \u2502   \u2502   \u2514\u2500\u2500\u2500\u2500\u2500 Monat (1 - 12)\n\u2502   \u2502   \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Tag des Monats (1 - 31)\n\u2502   \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Stunde (0 - 23)\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Minute (0 - 59)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Wichtige Syntax-Operatoren:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>*<\/code> (Stern): Steht f\u00fcr <strong>&#8220;jedes Mal&#8221;<\/strong>. Ein <code>*<\/code> im Feld Stunde bedeutet: Jede Stunde.<\/li>\n\n\n\n<li><code>,<\/code> (Komma): Erlaubt eine <strong>Liste<\/strong> von Werten (z. B. <code>1,3,5<\/code> im Wochentag-Feld f\u00fcr Montag, Mittwoch und Freitag).<\/li>\n\n\n\n<li><code>-<\/code> (Bindestrich): Definiert ein <strong>Intervall \/ Bereich<\/strong> (z. B. <code>1-5<\/code> f\u00fcr Montag bis Freitag).<\/li>\n\n\n\n<li><code>\/<\/code> (Schr\u00e4gstrich): Definiert <strong>Schrittabfolgen<\/strong> (z. B. <code>*\/15<\/code> im Minuten-Feld f\u00fcr alle 15 Minuten).<\/li>\n<\/ul>\n<div id=\"netgu-834026245\" class=\"netgu-after-content netgu-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-6258556257245998\" \ndata-ad-slot=\"4559785002\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Cronjob Generator Common Presets &#8212; Custom Configuration &#8212;Every 15 Minutes (*\/15 * * * *)Every Hour (0 * * * [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"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":[33],"tags":[97,95,99],"class_list":["post-58","post","type-post","status-publish","format-standard","hentry","category-generatoren","tag-cron","tag-cronjob","tag-crontab"],"brizy_media":[],"_links":{"self":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/58","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/comments?post=58"}],"version-history":[{"count":2,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/58\/revisions"}],"predecessor-version":[{"id":62,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/58\/revisions\/62"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/media?parent=58"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/categories?post=58"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/tags?post=58"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}