{"id":194,"date":"2026-05-13T10:20:03","date_gmt":"2026-05-13T02:20:03","guid":{"rendered":"https:\/\/junai.ai\/blog\/linux-cron-jobs-20\/"},"modified":"2026-05-13T10:20:03","modified_gmt":"2026-05-13T02:20:03","slug":"linux-cron-jobs-20","status":"publish","type":"post","link":"https:\/\/junai.ai\/blog\/linux-cron-jobs-20\/","title":{"rendered":"\ub9ac\ub205\uc2a4 cron \uc0ac\uc6a9\ubc95 \u2014 \uc608\uc57d \uc791\uc5c5\u00b7crontab (20\ud3b8)"},"content":{"rendered":"\n<!-- WordPress REST API \ubc1c\ud589\uc6a9 HTML (\uc790\ub3d9 \uc0dd\uc131) -->\n<!-- WP-FEATURED-MEDIA-ID: 179 -->\n<div style=\"max-width:800px;margin:0 auto;\">\n<style>\n:root{\n  --color-primary:#1e40af;--color-accent:#3b82f6;--color-bg:#fafafa;--color-bg-card:#ffffff;\n  --color-text:#1e293b;--color-text-muted:#64748b;--hero-start:#0f172a;--hero-end:#1e40af;\n  --font-body:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;\n  --size-body:17px;--line-height:1.75;--h1-size:32px;--h2-size:27px;--h3-size:20px;\n}\n*{margin:0;padding:0;box-sizing:border-box;}\n.wrap{max-width:760px;margin:0 auto;padding:0 20px;}\n.hero{background:linear-gradient(135deg,var(--hero-start) 0%,var(--hero-end) 100%);color:#fff;padding:64px 0 56px;text-align:center;}\n.hero .eyebrow{display:inline-block;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#93c5fd;font-weight:700;margin-bottom:16px;}\n.hero h1{font-size:var(--h1-size);line-height:1.32;letter-spacing:-0.3px;font-weight:800;margin-bottom:18px;}\n.hero p.sub{font-size:18px;color:#cbd5e1;max-width:620px;margin:0 auto;}\n.hero .meta{margin-top:22px;font-size:14px;color:#94a3b8;}\n.hero-img{display:block;width:100%;height:auto;}\narticle{padding:48px 0 24px;}\narticle h2{font-size:var(--h2-size);line-height:1.35;letter-spacing:-0.3px;font-weight:800;margin:48px 0 18px;padding-left:14px;border-left:5px solid var(--color-primary);}\narticle h2:first-of-type{margin-top:8px;}\narticle h3{font-size:var(--h3-size);font-weight:700;margin:28px 0 10px;color:#0f172a;}\narticle p{margin:0 0 18px;}\narticle ul,article ol{margin:0 0 18px 4px;padding-left:22px;}\narticle li{margin-bottom:9px;}\narticle strong{color:#0f172a;font-weight:700;}\narticle a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px;}\narticle code{background:#0f172a;color:#e2e8f0;padding:2px 7px;border-radius:5px;font-size:0.9em;font-family:'SF Mono',Menlo,Consolas,monospace;}\n.intro p:first-child{font-size:19px;color:#334155;}\n.notice{background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;padding:14px 18px;margin:0 0 30px;font-size:15px;color:#3730a3;}\n.notice b{color:#312e81;}\n.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:22px 0;}\ntable{width:100%;border-collapse:collapse;font-size:15px;background:var(--color-bg-card);}\nth,td{padding:11px 12px;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:top;}\nth{background:#f1f5f9;font-weight:700;color:#0f172a;}\ntd:first-child,th:first-child{font-weight:700;}\n@media (max-width:560px){\n  .tablewrap table,.tablewrap thead,.tablewrap tbody,.tablewrap tr,.tablewrap th,.tablewrap td{display:block;width:auto;}\n  .tablewrap thead{display:none;}\n  .tablewrap tr{margin:0 0 14px;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;}\n  .tablewrap td{border:none;border-bottom:1px solid #f1f5f9;padding:9px 14px;}\n  .tablewrap td:first-child{background:#f1f5f9;font-weight:800;font-size:15.5px;}\n  .tablewrap td:last-child{border-bottom:none;}\n  .tablewrap td[data-label]::before{content:attr(data-label) \" \u2014 \";font-weight:700;color:var(--color-primary);}\n}\n.databox{background:#eff6ff;border-left:4px solid var(--color-accent);border-radius:0 8px 8px 0;padding:16px 18px;margin:20px 0;font-size:15.5px;}\n.databox b{color:var(--color-primary);}\n.warnbox{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border-radius:10px;padding:16px 18px;margin:22px 0;font-size:15.5px;color:#78350f;}\n.cmd{background:#0f172a;color:#e2e8f0;border-radius:10px;padding:14px 16px;margin:14px 0;font-family:'SF Mono',Menlo,Consolas,monospace;font-size:14px;line-height:1.8;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:pre-wrap;}\n.cmd .c{color:#7dd3fc;}\n.cmd .o{color:#94a3b8;}\n.cmd .t{color:#fbbf24;}\n.roadmap{background:var(--color-bg-card);border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px;margin:24px 0;font-size:15px;}\n.roadmap h3{margin:0 0 10px;font-size:17px;color:#0f172a;}\n.roadmap ol{margin:0 0 0 4px;padding-left:20px;}\n.roadmap li{margin-bottom:5px;color:#475569;}\n.cta{background:#0f172a;color:#e2e8f0;border-radius:14px;padding:26px 24px;margin:40px 0 8px;text-align:center;}\n.cta h3{color:#fff;margin:0 0 8px;font-size:19px;}\n.cta p{margin:0 0 4px;font-size:15px;color:#cbd5e1;}\nfooter{padding:30px 0 50px;text-align:center;color:var(--color-text-muted);font-size:13.5px;}\n@media (max-width:480px){:root{--h1-size:23px;--h2-size:20px;--size-body:16px;}.hero{padding:48px 0 40px;}article{padding:34px 0 16px;}.cmd{font-size:12.5px;}}\n<\/style>\n<header class=\"hero\">\n  <div class=\"wrap\">\n    <span class=\"eyebrow\">\uc6b0\ubd84\ud22c \u00b7 \ub9ac\ub205\uc2a4 \uc785\ubb38 \u2014 20\ud3b8 (\uc911\uae09)<\/span>\n    <h1>\ub9ac\ub205\uc2a4 cron \uc0ac\uc6a9\ubc95 \u2014 \uc608\uc57d \uc791\uc5c5\u00b7crontab<\/h1>\n    <p class=\"sub\">&#8220;\ub9e4\uc77c \uc0c8\ubcbd 3\uc2dc\uc5d0 \ubc31\uc5c5\ud574\uc918&#8221;, &#8220;5\ubd84\ub9c8\ub2e4 \uc774\uac70 \uccb4\ud06c\ud574\uc918&#8221; \u2014 \uc0ac\ub78c \uc190 \uc548 \uac70\uce58\uace0 \uc815\ud574\uc9c4 \ub54c\uc5d0 \uba85\ub839\uc744 \uc790\ub3d9 \uc2e4\ud589\ud558\ub294 \uac8c cron\uc785\ub2c8\ub2e4.<\/p>\n    <p class=\"meta\">2026\ub144 5\uc6d4 13\uc77c \u00b7 \uc57d 8\ubd84 \u00b7 26\ud3b8 \uc785\ubb38 \uc2dc\ub9ac\uc988 20\ud3b8<\/p>\n  <\/div>\n<\/header>\n\n<img decoding=\"async\" class=\"hero-img\" src=\"https:\/\/junai.ai\/blog\/wp-content\/uploads\/2026\/05\/hero-23.jpg\" alt=\"\ud130\ubbf8\ub110\uc5d0 crontab -e\ub85c \uc608\uc57d \uc791\uc5c5\uc744 \uc124\uc815\ud558\ub294 \ud654\uba74 \u2014 \ub9ac\ub205\uc2a4 cron \uc0ac\uc6a9\ubc95\uc744 \uc0c1\uc9d5\ud558\ub294 \uc77c\ub7ec\uc2a4\ud2b8\">\n\n<div class=\"wrap\">\n<article>\n\n  <div class=\"intro\">\n    <p>19\ud3b8\uc5d0\uc11c systemd \uc11c\ube44\uc2a4\ub85c &#8220;\ud504\ub85c\uadf8\ub7a8\uc744 \ud56d\uc0c1 \ub5a0 \uc788\uac8c&#8221; \ub9cc\ub4e4\uc5c8\uc8e0. \uadf8\ub7f0\ub370 \uc5b4\ub5a4 \uc77c\uc740 &#8220;\ud56d\uc0c1&#8221;\uc774 \uc544\ub2c8\ub77c <strong>&#8220;\uc815\ud574\uc9c4 \ub54c\uc5d0 \ud55c \ubc88\uc529&#8221;<\/strong>\uc774 \ub9de\uc2b5\ub2c8\ub2e4 \u2014 \ub9e4\uc77c \uc0c8\ubcbd \ubc31\uc5c5, \ub9e4\uc2dc\uac04 \uc815\ub9ac, 5\ubd84\ub9c8\ub2e4 \uc0c1\ud0dc \uc810\uac80. \uadf8\uac8c <strong>cron<\/strong>\uc785\ub2c8\ub2e4(\uc6b0\ubd84\ud22c\uc5d0\uc120 <code>cron.service<\/code>\ub85c \ub5a0 \uc788\ub294 \ub370\ubaac). \ucef4\ud4e8\ud130\uc758 &#8220;\uc54c\ub78c \uc2dc\uacc4 + \uc790\ub3d9 \uc2e4\ud589&#8221; \uae30\ub2a5\uc774\uc5d0\uc694.<\/p>\n    <p>\uc774\ubc88 \ud3b8\uc740 \u2014 <code>crontab -e<\/code>\ub85c \ub0b4 \uc608\uc57d \uc791\uc5c5\uc744 \uc801\uace0, <strong>&#8220;\ubd84 \uc2dc \uc77c \uc6d4 \uc694\uc77c \uba85\ub839&#8221;<\/strong>\uc774\ub77c\ub294 cron \uc2dc\uac04 \ubb38\ubc95\uc744 \uc77d\uace0 \uc4f0\uace0, \uadf8\ub9ac\uace0 \uc785\ubb38\uc790\uac00 \uac70\uc758 \ub2e4 \ud55c \ubc88\uc529 \ub2f9\ud558\ub294 \ud568\uc815\ub4e4(\uc65c cron\uc5d0\uc11c\ub9cc \uc548 \ub418\uc9c0?)\uc744 \uc9da\uc2b5\ub2c8\ub2e4. <strong>26\ud3b8 \uc785\ubb38 \uc2dc\ub9ac\uc988 20\ud3b8<\/strong> \u2014 \uc774\uac78\ub85c &#8220;\uc911\uae09&#8221; \ubb36\uc74c(13~20\ud3b8: vim\u00b7\ud504\ub85c\uc138\uc2a4\u00b7\ub514\uc2a4\ud06c\u00b7\ub124\ud2b8\uc6cc\ud06c\u00b7ufw\u00b7SSH\u00b7systemd\u00b7cron)\uc774 \ub05d\ub098\uace0, \ub2e4\uc74c 21\ud3b8\ubd80\ud130 &#8220;\uace0\uae09&#8221;(\uc178 \uc2a4\ud06c\ub9bd\ud2b8~\ub3c4\ucee4)\uc785\ub2c8\ub2e4. (\ucc38\uace0: \uc694\uc998\uc740 systemd timer\ub3c4 \uac19\uc740 \uc77c\uc744 \ud558\ub294\ub370, cron\uc774 \ub354 \ub2e8\uc21c\ud558\uace0 \uc5b4\ub514\uc11c\ub098 \ud1b5\ud574\uc11c \uc785\ubb38\uc5d4 cron\ubd80\ud130.)<\/p>\n  <\/div>\n\n  <div class=\"notice\">\n    <b>\uc900\ube44\ubb3c \u2014<\/b> \uc6b0\ubd84\ud22c + \ud130\ubbf8\ub110. <code>crontab<\/code>\uc740 \uae30\ubcf8 \uc124\uce58\ub3fc \uc788\uc5b4\uc694. 8\ud3b8(nano \u2014 crontab \ud3b8\uc9d1\uae30\ub85c \uc500)\u00b712\ud3b8(<code>&gt;\/dev\/null 2&gt;&amp;1<\/code> \ub9ac\ub2e4\uc774\ub809\uc158)\u00b719\ud3b8(systemd\u00b7\ub85c\uadf8)\uc744 \ubd24\ub2e4\uba74 \uc774\uc5b4\uc9d1\ub2c8\ub2e4. \uc2e4\uc2b5\uc740 \uc548\uc804\ud55c \uc791\uc5c5(<code>date &gt;&gt; \/tmp\/cron-test.log<\/code> \uac19\uc740)\uc73c\ub85c.\n  <\/div>\n\n  <h2>cron\uc774 \ubb54\uac00 \u2014 crontab\uacfc cron.d<\/h2>\n  <p><code>cron<\/code>\uc740 &#8220;\uc9c0\uae08 \uba87 \uc2dc\uc9c0? \uc2e4\ud589\ud560 \uc608\uc57d \uc791\uc5c5 \uc788\ub098?&#8221;\ub97c \ub9e4\ubd84 \ud655\uc778\ud558\ub294 \ub370\ubaac\uc785\ub2c8\ub2e4(<code>systemctl status cron<\/code>\uc73c\ub85c \ub5a0 \uc788\ub294 \uac70 \ud655\uc778 \uac00\ub2a5 \u2014 19\ud3b8). \uc608\uc57d \uc791\uc5c5 \ubaa9\ub85d\uc744 \uc801\uc5b4\ub450\ub294 \uacf3\uc774 \uba87 \uad70\ub370 \uc788\uc5b4\uc694:<\/p>\n  <ul>\n    <li><strong><code>crontab -e<\/code><\/strong> (\uc0ac\uc6a9\uc790\ubcc4) \u2014 \uac00\uc7a5 \ub9ce\uc774 \uc500. &#8220;\ub0b4(jspark) \uad8c\ud55c\uc73c\ub85c \ub3cc\ub9b4 \uc791\uc5c5\ub4e4&#8221;. <code>sudo crontab -e<\/code>\uba74 root \uad8c\ud55c \uc791\uc5c5. \uc0ac\ub78c\ub9c8\ub2e4 \uc790\uae30 \ubaa9\ub85d\uc744 \uac00\uc9d0.<\/li>\n    <li><strong><code>\/etc\/crontab<\/code>, <code>\/etc\/cron.d\/<\/code><\/strong> (\uc2dc\uc2a4\ud15c) \u2014 \uc2dc\uc2a4\ud15c \uc804\uccb4 \uc791\uc5c5. \ud615\uc2dd\uc774 \uc0b4\uc9dd \ub2e4\ub984(\uc2e4\ud589\ud560 &#8216;\uc0ac\uc6a9\uc790&#8217; \uce78\uc774 \ud558\ub098 \ub354 \uc788\uc74c). \ud328\ud0a4\uc9c0\uac00 \uc124\uce58\ud558\ub294 \uc791\uc5c5\ub4e4\uc774 \uc5ec\uae30 \ub4e4\uc5b4\uac00\uae30\ub3c4.<\/li>\n    <li><strong><code>\/etc\/cron.daily\/<\/code>, <code>cron.hourly\/<\/code>, <code>cron.weekly\/<\/code><\/strong> \u2014 &#8220;\uc5ec\uae30\uc5d0 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \ub123\uc5b4\ub450\uba74 \ub9e4\uc77c\/\ub9e4\uc2dc\uac04\/\ub9e4\uc8fc \uc54c\uc544\uc11c \uc2e4\ud589&#8221; (\uc2dc\uac04\uc744 \uc9c1\uc811 \uc548 \uc815\ud558\uace0 \uc2f6\uc744 \ub54c). <code>logrotate<\/code> \uac19\uc740 \uac8c \uc774\ub807\uac8c \ub3d4.<\/li>\n  <\/ul>\n  <p>\uc785\ubb38 \ub2e8\uacc4\uc5d0\uc120 <strong><code>crontab -e<\/code> \ud558\ub098\uba74 \ucda9\ubd84<\/strong>\ud569\ub2c8\ub2e4. \ub098\uba38\uc9c0\ub294 &#8220;\uc774\ub7f0 \uac83\ub3c4 \uc788\ub2e4&#8221; \uc815\ub3c4.<\/p>\n\n  <h2>crontab -e \u2014 \ub0b4 \uc608\uc57d \uc791\uc5c5 \uc801\uae30<\/h2>\n  <div class=\"cmd\"><span class=\"c\">$<\/span> crontab -e\n<span class=\"o\">                          \u2190 \ub0b4 \uc608\uc57d \uc791\uc5c5\ud45c \ud3b8\uc9d1 (\ucc98\uc74c\uc774\uba74 \uc5d0\ub514\ud130 \uace0\ub974\ub77c \ud568 \u2014 nano \uc120\ud0dd). \uc800\uc7a5\ud558\uba74 cron \uc774 \ubc14\ub85c \uc801\uc6a9<\/span>\n<span class=\"o\">  # \ud30c\uc77c \ub9e8 \uc704\uc5d0 \uc774\uac78 \uc801\uc5b4\ub450\uba74 \ud568\uc815 \uc608\ubc29:<\/span>\n<span class=\"o\">  SHELL=\/bin\/bash<\/span>\n<span class=\"o\">  PATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin   \u2190 cron \uc758 \uae30\ubcf8 PATH \uac00 \uc9e7\uc544\uc11c (\uc544\ub798 \ud568\uc815 \ucc38\uace0)<\/span>\n<span class=\"o\">  MAILTO=&#8221;&#8221;                \u2190 \uc791\uc5c5 \ucd9c\ub825\uc744 \uba54\uc77c\ub85c \uc548 \ubcf4\ub0c4 (\uc548 \uadf8\ub7ec\uba74 \ub85c\uceec \uba54\uc77c\uc774 \uc313\uc784)<\/span>\n<span class=\"o\">  # \uadf8 \uc544\ub798\uc5d0 \uc791\uc5c5 \ud55c \uc904\uc529:<\/span>\n<span class=\"o\">  0 3 * * *  \/home\/jspark\/backup.sh  &gt;&gt; \/home\/jspark\/logs\/backup.log 2&gt;&amp;1<\/span>\n<span class=\"c\">$<\/span> crontab -l\n<span class=\"o\">                          \u2190 \ub0b4 \uc608\uc57d \uc791\uc5c5 \ubaa9\ub85d \ubcf4\uae30 (\uc9c0\uae08 \ubb50\uac00 \uac78\ub824\uc788\ub098)<\/span>\n<span class=\"c\">$<\/span> crontab -r\n<span class=\"o\">                          \u2190 \u26a0\ufe0f \ub0b4 \uc608\uc57d \uc791\uc5c5 &#8216;\uc804\ubd80&#8217; \uc0ad\uc81c. -i \uc5c6\uc774 \ubb3b\uc9c0\ub3c4 \uc54a\uc74c \u2014 &#8216;crontab -e \ud6c4 \ub2e4 \uc9c0\uc6b0\uae30&#8217;\uac00 \ub354 \uc548\uc804<\/span><\/div>\n  <div class=\"databox\"><b>\uc694\ub839:<\/b> <code>crontab -e<\/code>\ub85c \uc5f4\uc5b4\uc11c \u2014 \ub9e8 \uc704\uc5d0 <code>SHELL<\/code>\u00b7<code>PATH<\/code>\u00b7<code>MAILTO=\"\"<\/code> 3\uc904 \uc801\uace0(\ud568\uc815 \uc608\ubc29), \uadf8 \uc544\ub798\uc5d0 \uc791\uc5c5\uc744 \ud55c \uc904\uc529 \ucd94\uac00. \uc791\uc5c5 \uc904\uc740 \ud56d\uc0c1 <strong>\uc808\ub300 \uacbd\ub85c<\/strong>\ub85c(<code>~<\/code>\u00b7\uc0c1\ub300\uacbd\ub85c X), \ub05d\uc5d0 <code>&gt;&gt; \ub85c\uadf8\ud30c\uc77c 2&gt;&amp;1<\/code>(\ucd9c\ub825\uc744 \ub85c\uadf8\ub85c \u2014 12\ud3b8). <code>crontab -l<\/code>\ub85c \ud655\uc778. \ubc31\uc5c5\ud560 \ub550 <code>crontab -l &gt; ~\/my-crontab-backup.txt<\/code> \ud574\ub450\uba74 \uc548\uc2ec(<code>crontab -r<\/code> \uc2e4\uc218 \ub300\ube44).<\/div>\n\n  <h2>cron \uc2dc\uac04 \ubb38\ubc95 \u2014 \ubd84 \uc2dc \uc77c \uc6d4 \uc694\uc77c<\/h2>\n  <p>\uc791\uc5c5 \uc904\uc758 \uc55e \ub2e4\uc12f \uce78\uc774 &#8220;\uc5b8\uc81c&#8221;\uc785\ub2c8\ub2e4: <code>\ubd84(0-59) \uc2dc(0-23) \uc77c(1-31) \uc6d4(1-12) \uc694\uc77c(0-7, 0\u00b77=\uc77c\uc694\uc77c)<\/code>. <code>*<\/code>\ub294 &#8220;\ub9e4\ubc88(\ubaa8\ub4e0 \uac12)&#8221;. \uc608\uc2dc\ub85c \uc775\ud788\ub294 \uac8c \ube60\ub985\ub2c8\ub2e4:<\/p>\n  <div class=\"cmd\"><span class=\"t\">* * * * *<\/span>          <span class=\"o\">\uba85\ub839    \u2190 \ub9e4\ubd84 (\ub514\ubc84\uae45\uc6a9. \ud3c9\uc18c\uc5d4 \ubd80\ub2f4)<\/span>\n<span class=\"t\">0 3 * * *<\/span>          <span class=\"o\">\uba85\ub839    \u2190 \ub9e4\uc77c \uc0c8\ubcbd 3\uc2dc \uc815\uac01 (\ubc31\uc5c5 \ub2e8\uace8 \uc2dc\uac04)<\/span>\n<span class=\"t\">*\/5 * * * *<\/span>        <span class=\"o\">\uba85\ub839    \u2190 5\ubd84\ub9c8\ub2e4 (0,5,10,&#8230;) \u2014 *\/N = N \uac04\uaca9<\/span>\n<span class=\"t\">30 2 * * 1-5<\/span>       <span class=\"o\">\uba85\ub839    \u2190 \ud3c9\uc77c(\uc6d4~\uae08) \uc0c8\ubcbd 2\uc2dc 30\ubd84. 1-5 = \ubc94\uc704<\/span>\n<span class=\"t\">0 0,12 * * *<\/span>       <span class=\"o\">\uba85\ub839    \u2190 \ub9e4\uc77c 0\uc2dc\u00b712\uc2dc (\uc790\uc815\u00b7\uc815\uc624). 0,12 = \ubaa9\ub85d<\/span>\n<span class=\"t\">0 9 1 * *<\/span>          <span class=\"o\">\uba85\ub839    \u2190 \ub9e4\uc6d4 1\uc77c \uc624\uc804 9\uc2dc<\/span>\n<span class=\"t\">0 4 * * 0<\/span>          <span class=\"o\">\uba85\ub839    \u2190 \ub9e4\uc8fc \uc77c\uc694\uc77c \uc0c8\ubcbd 4\uc2dc (\uc694\uc77c 0=\uc77c)<\/span>\n<span class=\"t\">@reboot<\/span>            <span class=\"o\">\uba85\ub839    \u2190 \ubd80\ud305\ud560 \ub54c\ub9c8\ub2e4 \ud55c \ubc88 (\uc11c\ube44\uc2a4 \ub9cc\ub4e4\uae30\uc5d4 19\ud3b8 systemd \uac00 \ub354 \uc88b\uc9c0\ub9cc)<\/span>\n<span class=\"t\">@daily<\/span> \/ <span class=\"t\">@hourly<\/span>    <span class=\"o\">\uba85\ub839    \u2190 &#8216;0 0 * * *&#8217; \/ &#8216;0 * * * *&#8217; \uc758 \ubcc4\uce6d. @weekly @monthly \ub3c4<\/span><\/div>\n  <p>\uc77d\ub294 \uc694\ub839: \uc67c\ucabd\ubd80\ud130 &#8220;<strong>\uba87 \ubd84 \/ \uba87 \uc2dc \/ \uba70\uce60 \/ \uba87 \uc6d4 \/ \ubb34\uc2a8 \uc694\uc77c<\/strong>&#8220;. \ud5f7\uac08\ub9ac\uba74 <a href=\"https:\/\/crontab.guru\/\" target=\"_blank\" rel=\"noopener\">crontab.guru<\/a>\uc5d0 \uc2dd\uc744 \ub123\uc73c\uba74 &#8220;\uc774\uac74 ~\ud560 \ub54c \uc2e4\ud589&#8221;\uc774\ub77c\uace0 \uc601\uc5b4\ub85c \uc124\uba85\ud574\uc90d\ub2c8\ub2e4(\ubc88\uc5ed\ud574\uc11c \ubcf4\uba74 \ub428) \u2014 cron \uc2dd\uc744 \uc4f8 \ub54c \uac70\uc758 \ud56d\uc0c1 \ucf1c\ub450\ub294 \uc0ac\uc774\ud2b8\uc608\uc694. \uc8fc\uc758: <strong>&#8216;\uc77c&#8217;\uacfc &#8216;\uc694\uc77c&#8217;\uc744 \ub458 \ub2e4 \uc9c0\uc815\ud558\uba74 \ub458 \uc911 \ud558\ub098\ub9cc \ub9de\uc544\ub3c4 \uc2e4\ud589<\/strong>\ub429\ub2c8\ub2e4(AND \uc544\ub2c8\uace0 OR) \u2014 \ud5f7\uac08\ub9ac\ub294 \uc9c0\uc810\uc774\ub2c8, \ubcf4\ud1b5 \ud55c\ucabd\uc740 <code>*<\/code>\ub85c \ub461\ub2c8\ub2e4.<\/p>\n\n  <h2>\ud754\ud55c \ud568\uc815 + \uc815\ub9ac<\/h2>\n  <p>&#8220;\ud130\ubbf8\ub110\uc5d0\uc120 \ub418\ub294\ub370 cron\uc5d0 \ub123\uc73c\uba74 \uc548 \ub3fc\uc694&#8221; \u2014 \uac70\uc758 \ub2e4 \uc774 \uc14b \uc911 \ud558\ub098\uc785\ub2c8\ub2e4.<\/p>\n  <ul>\n    <li><strong>\u2460 PATH\uac00 \uc9e7\ub2e4<\/strong> \u2014 cron\uc740 \ub85c\uadf8\uc778 \uc178\uc774 \uc544\ub2c8\ub77c <code>PATH<\/code>\uac00 <code>\/usr\/bin:\/bin<\/code> \uc815\ub3c4\ubfd0. \uadf8\ub798\uc11c <code>node<\/code>\u00b7<code>python3<\/code>\u00b7<code>docker<\/code> \uac19\uc740 \uac8c &#8220;command not found&#8221;\uac00 \ub429\ub2c8\ub2e4. \ud574\uacb0: \uba85\ub839\uc744 <strong>\uc808\ub300 \uacbd\ub85c<\/strong>\ub85c \uc4f0\uac70\ub098(<code>\/usr\/bin\/python3 ...<\/code> \u2014 <code>which python3<\/code>\uc73c\ub85c \uacbd\ub85c \ud655\uc778), crontab \ub9e8 \uc704\uc5d0 <code>PATH=...<\/code>\ub97c \uba85\uc2dc. \uc2a4\ud06c\ub9bd\ud2b8 \uc548\uc5d0\uc11c\ub3c4 PATH\ub97c \uc124\uc815\ud558\uba74 \ub354 \ud655\uc2e4.<\/li>\n    <li><strong>\u2461 \ucd9c\ub825\uc774 \uc5b4\ub514 \uac14\uc9c0?<\/strong> \u2014 cron \uc791\uc5c5\uc758 \ucd9c\ub825(stdout\u00b7stderr)\uc740 \uae30\ubcf8\uc801\uc73c\ub85c \uadf8 \uc0ac\uc6a9\uc790\uc5d0\uac8c <strong>\ub85c\uceec \uba54\uc77c<\/strong>\ub85c \uac11\ub2c8\ub2e4(\uc544\ubb34\ub3c4 \uc548 \ubd04, \uc313\uc774\uae30\ub9cc). \uadf8\ub798\uc11c \ud56d\uc0c1 \ub05d\uc5d0 <code>&gt;&gt; \/\uacbd\ub85c\/\uc791\uc5c5.log 2&gt;&amp;1<\/code>(\ub85c\uadf8 \ud30c\uc77c\uc5d0 \u2014 12\ud3b8) \ub610\ub294 <code>&gt;\/dev\/null 2&gt;&amp;1<\/code>(\uc644\uc804 \ubb34\uc2dc \u2014 &#8220;\uc774 \uc791\uc5c5\uc740 \ucd9c\ub825 \uc548 \ubd10\ub3c4 \ub428&#8221;). \ub514\ubc84\uae45 \uc911\uc5d4 \ub85c\uadf8\ub85c, \uc548\uc815\ub418\uba74 <code>\/dev\/null<\/code>\ub85c.<\/li>\n    <li><strong>\u2462 \uc791\uc5c5 \ub514\ub809\ud1a0\ub9ac\u00b7\ud658\uacbd\uc774 \ub2e4\ub974\ub2e4<\/strong> \u2014 cron \uc791\uc5c5\uc740 \ud648 \ub514\ub809\ud1a0\ub9ac\uc5d0\uc11c, \ucd5c\uc18c\ud55c\uc758 \ud658\uacbd \ubcc0\uc218\ub85c \uc2e4\ud589\ub429\ub2c8\ub2e4. \uc2a4\ud06c\ub9bd\ud2b8\uac00 &#8220;\ud604\uc7ac \ud3f4\ub354&#8221;\ub97c \uac00\uc815\ud558\uba74 \uae68\uc838\uc694. \uc2a4\ud06c\ub9bd\ud2b8 \uc548\uc5d0\uc11c <code>cd \/\uc791\uc5c5\ud560\/\uacbd\ub85c<\/code>\ub97c \uba3c\uc800 \ud558\uac70\ub098, \ubaa8\ub4e0 \uacbd\ub85c\ub97c \uc808\ub300 \uacbd\ub85c\ub85c. <code>%<\/code> \ubb38\uc790\ub294 crontab\uc5d0\uc11c \ud2b9\uc218 \ucde8\uae09\ub418\ub2c8 <code>\\%<\/code>\ub85c \uc774\uc2a4\ucf00\uc774\ud504.<\/li>\n  <\/ul>\n  <div class=\"warnbox\"><strong>cron \ub514\ubc84\uae45 \uc21c\uc11c:<\/strong> \u2460 \uc791\uc5c5 \uc904 \ub05d\uc5d0 <code>&gt;&gt; ~\/cron-debug.log 2&gt;&amp;1<\/code> \ubd99\uc774\uace0 \u2192 \u2461 \uc77c\ub2e8 <code>* * * * *<\/code>(\ub9e4\ubd84)\ub85c \uac78\uc5b4\uc11c 1~2\ubd84 \uae30\ub2e4\ub9b0 \ub4a4 \uadf8 \ub85c\uadf8\ub97c <code>tail -f ~\/cron-debug.log<\/code>(12\ud3b8)\ub85c \ubcf4\uae30 \u2192 \u2462 &#8220;command not found&#8221;\uba74 PATH(\uc808\ub300 \uacbd\ub85c\ub85c \uace0\uce68), \ub2e4\ub978 \uc5d0\ub7ec\uba74 \uadf8 \uba54\uc2dc\uc9c0\ub300\ub85c \u2192 \u2463 \ub418\uba74 \uc2dc\uac04 \uc2dd\uc744 \uc6d0\ub798\ub300\ub85c(\ub9e4\ubd84 \u2192 \uc9c4\uc9dc \uc8fc\uae30). \uadf8\ub798\ub3c4 \uc548 \ubcf4\uc774\uba74 <code>journalctl -u cron -f<\/code>(19\ud3b8)\ub85c cron \uc790\uccb4 \ub85c\uadf8\ub97c \u2014 &#8220;\uc791\uc5c5\uc744 \uc2e4\ud589\ud588\ub2e4&#8221;\ub294 \uc904\uc740 \uac70\uae30 \ub739\ub2c8\ub2e4. \uadf8\ub9ac\uace0 <code>crontab -r<\/code>\uc740 \uc808\ub300 \uc2b5\uad00\ucc98\ub7fc \uce58\uc9c0 \ub9d0 \uac83 \u2014 \ub2e4 \ub0a0\uc544\uac11\ub2c8\ub2e4.<\/div>\n  <div class=\"databox\"><b>\uc624\ub298\uc758 \uc815\ub9ac:<\/b> cron = \uc815\ud574\uc9c4 \ub54c\uc5d0 \uba85\ub839 \uc790\ub3d9 \uc2e4\ud589\ud558\ub294 \ub370\ubaac. \ub0b4 \uc791\uc5c5: <code>crontab -e<\/code>(\ud3b8\uc9d1)\u00b7<code>crontab -l<\/code>(\ubaa9\ub85d)\u00b7<code>crontab -r<\/code>(\uc804\ubd80 \uc0ad\uc81c \u2014 \uc704\ud5d8). \ub9e8 \uc704\uc5d0 <code>SHELL<\/code>\u00b7<code>PATH<\/code>\u00b7<code>MAILTO=\"\"<\/code> 3\uc904. \uc2dc\uac04: <code>\ubd84 \uc2dc \uc77c \uc6d4 \uc694\uc77c \uba85\ub839<\/code>, <code>*<\/code>=\ub9e4\ubc88, <code>*\/5<\/code>=5\uac04\uaca9, <code>1-5<\/code>=\ubc94\uc704, <code>0,30<\/code>=\ubaa9\ub85d, <code>@daily<\/code>\u00b7<code>@reboot<\/code>=\ubcc4\uce6d. \ud568\uc815 \uc14b: PATH \uc9e7\uc74c(\uc808\ub300 \uacbd\ub85c!), \ucd9c\ub825\uc740 \uba54\uc77c\ub85c(<code>&gt;&gt; log 2&gt;&amp;1<\/code> \ub610\ub294 <code>&gt;\/dev\/null 2&gt;&amp;1<\/code>), \ud658\uacbd\/\ub514\ub809\ud1a0\ub9ac \ub2e4\ub984(\uc2a4\ud06c\ub9bd\ud2b8 \uc548\uc5d0\uc11c <code>cd<\/code>\u00b7\uc808\ub300 \uacbd\ub85c). \ub514\ubc84\uae45 = \ub85c\uadf8 \ubd99\uc774\uace0 \ub9e4\ubd84\uc73c\ub85c \u2192 tail -f. \uc2dd \ud655\uc778\uc740 crontab.guru.<\/div>\n\n  <div class=\"roadmap\">\n    <h3>\uc2dc\ub9ac\uc988 \ud750\ub984<\/h3>\n    <ol>\n      <li>1~12\ud3b8 \uc785\ubb38\u00b7\uae30\ucd08 \u2714 &nbsp; 13~19\ud3b8 \uc911\uae09(vim\u00b7\ud504\ub85c\uc138\uc2a4\u00b7\ub514\uc2a4\ud06c\u00b7\ub124\ud2b8\uc6cc\ud06c\u00b7ufw\u00b7SSH\u00b7systemd) \u2714<\/li>\n      <li><strong>20\ud3b8 \u2014 cron (\uc774 \uae00) \u2714 &nbsp;\u2014 &#8220;\uc911\uae09&#8221; \ubb36\uc74c \uc644\ub8cc<\/strong><\/li>\n      <li>21\ud3b8 \u2014 \uc178 \uc2a4\ud06c\ub9bd\ud2b8 \uc791\uc131\ubc95 (\uc9c0\uae08\uae4c\uc9c0\uc758 \uba85\ub839\ub4e4\uc744 \ud558\ub098\ub85c \ubb36\uc5b4 \uc790\ub3d9\ud654 \u2014 &#8220;\uace0\uae09&#8221; \ubb36\uc74c \uc2dc\uc791)<\/li>\n      <li>22\ud3b8~ \u2014 \uc178 \uc2a4\ud06c\ub9bd\ud2b8 \ubca0\uc2a4\ud2b8 \ud504\ub799\ud2f0\uc2a4 \/ sed\u00b7awk \/ \ub85c\uadf8 \ubd84\uc11d \/ \uc11c\ubc84 \ubcf4\uc548 \/ \ub3c4\ucee4 \u2026<\/li>\n    <\/ol>\n  <\/div>\n  <p>\uc624\ub298 \ud560 \uc77c: <code>crontab -e<\/code>\ub85c \uc5f4\uc5b4\uc11c \ub9e8 \uc704\uc5d0 <code>SHELL<\/code>\u00b7<code>PATH<\/code>\u00b7<code>MAILTO=\"\"<\/code> 3\uc904 \uc801\uace0, <code>* * * * * date &gt;&gt; \/tmp\/cron-test.log 2&gt;&amp;1<\/code> \ud55c \uc904 \ucd94\uac00 \u2192 \uc800\uc7a5 \u2192 1~2\ubd84 \ub4a4 <code>cat \/tmp\/cron-test.log<\/code>\ub85c \ub9e4\ubd84 \uc2dc\uac01\uc774 \uc313\uc774\ub294\uc9c0 \ud655\uc778 \u2192 <code>crontab -e<\/code>\ub85c \uadf8 \uc904 \uc9c0\uc6b0\uae30. &#8220;\uc608\uc57d \uc791\uc5c5\uc774 \uc9c4\uc9dc \ub3c4\ub294\uad6c\ub098&#8221;\ub97c \ud55c \ubc88 \ubcf4\uba74 \ub429\ub2c8\ub2e4. 21\ud3b8\uc5d0\uc11c \ub9cc\ub098\uc694. (cron \uc804\uccb4\ub294 <code>man 5 crontab<\/code>\u00b7<code>man crontab<\/code>, \uc2dd \ud655\uc778\uc740 <a href=\"https:\/\/crontab.guru\/\" target=\"_blank\" rel=\"noopener\">crontab.guru<\/a>.)<\/p>\n\n  <div class=\"cta\">\n    <h3>\uc6b0\ubd84\ud22c\u00b7\ub9ac\ub205\uc2a4 \uc785\ubb38 \uc2dc\ub9ac\uc988<\/h3>\n    <p>&#8220;\uc911\uae09&#8221; \ubb36\uc74c \uc644\uc8fc \u2014 \uc774\uc81c \uc815\ud574\uc9c4 \ub54c\uc5d0 \uc77c\uc774 \uc790\ub3d9\uc73c\ub85c \ub3cc\uc544\uac11\ub2c8\ub2e4. 21\ud3b8 &#8220;\uc178 \uc2a4\ud06c\ub9bd\ud2b8 \uc791\uc131\ubc95&#8221;\uc73c\ub85c &#8220;\uace0\uae09&#8221; \ubb36\uc74c\uc744 \uc2dc\uc791\ud569\ub2c8\ub2e4.<\/p>\n    <p>\ub2e4\uc74c \ud3b8\uc740 <a href=\"https:\/\/junai.ai\/blog\/\" target=\"_blank\" rel=\"noopener\">JUNAI \ube14\ub85c\uadf8<\/a>\uc5d0\uc11c \uc774\uc5b4 \ubcf4\uc138\uc694.<\/p>\n  <\/div>\n\n<\/article>\n<\/div>\n\n<footer>\n  <div class=\"wrap\">\u00a9 2026 JUNAI \u00b7 \uc6b0\ubd84\ud22c\u00b7\ub9ac\ub205\uc2a4 \uc785\ubb38 \uc2dc\ub9ac\uc988 20\ud3b8 \u00b7 \ubcf8 \uae00\uc740 2026\ub144 5\uc6d4 13\uc77c \uae30\uc900\uc73c\ub85c \uc791\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/div>\n<\/footer>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>cron\uc73c\ub85c \uba85\ub839 \uc790\ub3d9 \uc2e4\ud589 \u2014 crontab -e, \ubd84 \uc2dc \uc77c \uc6d4 \uc694\uc77c \ubb38\ubc95, *\/5\u00b7@reboot, \ud754\ud55c \ud568\uc815(PATH\u00b7\ucd9c\ub825\u00b7\ud658\uacbd)\uae4c\uc9c0. \ub9ac\ub205\uc2a4 \uc785\ubb38 20\ud3b8.<\/p>\n","protected":false},"author":1,"featured_media":179,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":["post-194","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ubuntu-linux"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/posts\/194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/comments?post=194"}],"version-history":[{"count":0,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/posts\/194\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/media\/179"}],"wp:attachment":[{"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/media?parent=194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/categories?post=194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/tags?post=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}