{"id":60,"date":"2026-05-28T08:15:56","date_gmt":"2026-05-28T08:15:56","guid":{"rendered":"https:\/\/netguide.io\/tools\/?p=60"},"modified":"2026-05-28T08:15:57","modified_gmt":"2026-05-28T08:15:57","slug":"cronjob-generator-2","status":"publish","type":"post","link":"https:\/\/netguide.io\/tools\/en\/cronjob-generator-2\/","title":{"rendered":"Cronjob Generator"},"content":{"rendered":"<div id=\"netgu-172893189\" 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-379852979\"><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\">Crontab Syntax Guide<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Quick Cheatsheet<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Every 5 minutes:<\/strong> <code>*\/5 * * * *<\/code><\/li>\n\n\n\n<li><strong>Every day at 2:30 AM:<\/strong> <code>30 2 * * *<\/code><\/li>\n\n\n\n<li><strong>Every working day at 8 AM:<\/strong> <code>0 8 * * 1-5<\/code><\/li>\n\n\n\n<li><strong>Twice a day (Noon and Midnight):<\/strong> <code>0 0,12 * * *<\/code><\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Pro-Tip for Admins:<\/strong> Always use absolute paths in your cronjobs (e.g., <code>\/usr\/bin\/php<\/code> instead of just <code>php<\/code> and <code>\/var\/www\/script.sh<\/code> instead of <code>.\/script.sh<\/code>). Cron environments running via <code>crontab -e<\/code> have a highly restricted set of environment variables and often won&#8217;t find globally installed binaries without their full path.<\/p>\n<\/blockquote>\n<div id=\"netgu-1598339148\" 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":[101],"tags":[106],"class_list":["post-60","post","type-post","status-publish","format-standard","hentry","category-generator","tag-crontab-en"],"brizy_media":[],"_links":{"self":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/60","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=60"}],"version-history":[{"count":1,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/60\/revisions"}],"predecessor-version":[{"id":61,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/60\/revisions\/61"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/media?parent=60"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/categories?post=60"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/tags?post=60"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}