{"id":1087,"date":"2024-12-18T11:14:17","date_gmt":"2024-12-18T03:14:17","guid":{"rendered":"http:\/\/www.chan.ink\/?p=1087"},"modified":"2024-12-18T11:15:07","modified_gmt":"2024-12-18T03:15:07","slug":"%e3%80%90linuxcrontab%e3%80%91","status":"publish","type":"post","link":"http:\/\/www.chan.ink\/index.php\/2024\/12\/18\/%e3%80%90linuxcrontab%e3%80%91\/","title":{"rendered":"\u3010Linux|crontab\u3011crontab\u7406\u8bba"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><code>crontab<\/code> \u662f Unix\/Linux \u7cfb\u7edf\u4e2d\u7528\u4e8e\u7ba1\u7406\u5b9a\u65f6\u4efb\u52a1\u7684\u5de5\u5177\uff0c\u5b83\u8ba9\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u7b80\u5355\u7684\u914d\u7f6e\uff0c\u5728\u6307\u5b9a\u65f6\u95f4\u6267\u884c\u67d0\u4e9b\u547d\u4ee4\u6216\u811a\u672c\u3002\u4ee5\u4e0b\u662f\u5bf9 <code>crontab<\/code> \u7684\u8be6\u7ec6\u89e3\u6790\uff1a<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1. crontab \u7684\u57fa\u672c\u7ec4\u6210<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>crontab<\/code> \u6587\u4ef6\u7684\u6bcf\u4e00\u884c\u5b9a\u4e49\u4e00\u4e2a\u5b9a\u65f6\u4efb\u52a1\uff0c\u5176\u683c\u5f0f\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u5206 \u65f6 \u65e5 \u6708 \u661f\u671f \u547d\u4ee4<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5206<\/strong>\uff08minute\uff09\uff1a\u8303\u56f4 0-59<\/li>\n\n\n\n<li><strong>\u65f6<\/strong>\uff08hour\uff09\uff1a\u8303\u56f4 0-23\uff0824 \u5c0f\u65f6\u5236\uff09<\/li>\n\n\n\n<li><strong>\u65e5<\/strong>\uff08day of month\uff09\uff1a\u8303\u56f4 1-31<\/li>\n\n\n\n<li><strong>\u6708<\/strong>\uff08month\uff09\uff1a\u8303\u56f4 1-12<\/li>\n\n\n\n<li><strong>\u661f\u671f<\/strong>\uff08day of week\uff09\uff1a\u8303\u56f4 0-7\uff080 \u548c 7 \u90fd\u8868\u793a\u661f\u671f\u65e5\uff09<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u793a\u4f8b\uff1a<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>15 14 1 * * \/path\/to\/script.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u89e3\u91ca<\/strong>\uff1a\u6bcf\u6708 1 \u65e5\u7684 14:15 \u6267\u884c\u811a\u672c <code>\/path\/to\/script.sh<\/code>\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2. \u7279\u6b8a\u7b26\u53f7\u7684\u542b\u4e49<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>crontab<\/code> \u652f\u6301\u4f7f\u7528\u7279\u6b8a\u7b26\u53f7\u8bbe\u7f6e\u66f4\u7075\u6d3b\u7684\u65f6\u95f4\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u7b26\u53f7<\/th><th>\u542b\u4e49<\/th><\/tr><\/thead><tbody><tr><td><code>*<\/code><\/td><td>\u8868\u793a\u4efb\u4f55\u503c\u3002\u4f8b\u5982\uff1a<code>*<\/code> \u5728\u5206\u949f\u4f4d\u8868\u793a\u6bcf\u5206\u949f\u90fd\u6267\u884c\u4efb\u52a1\u3002<\/td><\/tr><tr><td><code>,<\/code><\/td><td>\u7528\u9017\u53f7\u5206\u9694\u591a\u4e2a\u503c\u3002\u4f8b\u5982\uff1a<code>1,15<\/code> \u8868\u793a\u7b2c 1 \u5206\u949f\u548c\u7b2c 15 \u5206\u949f\u6267\u884c\u4efb\u52a1\u3002<\/td><\/tr><tr><td><code>-<\/code><\/td><td>\u6307\u5b9a\u8303\u56f4\u3002\u4f8b\u5982\uff1a<code>1-5<\/code> \u8868\u793a\u4ece\u7b2c 1 \u5206\u949f\u5230\u7b2c 5 \u5206\u949f\u90fd\u6267\u884c\u4efb\u52a1\u3002<\/td><\/tr><tr><td><code>\/<\/code><\/td><td>\u8868\u793a\u6b65\u957f\u3002\u4f8b\u5982\uff1a<code>*\/5<\/code> \u8868\u793a\u6bcf 5 \u5206\u949f\u6267\u884c\u4e00\u6b21\uff1b<code>1-10\/2<\/code> \u8868\u793a\u4ece\u7b2c 1 \u5206\u949f\u5f00\u59cb\uff0c\u6bcf 2 \u5206\u949f\u6267\u884c\u4e00\u6b21\u3002<\/td><\/tr><tr><td><code>?<\/code><\/td><td>\u4ec5\u7528\u4e8e <code>day of month<\/code> \u548c <code>day of week<\/code> \u5b57\u6bb5\uff0c\u8868\u793a\u65e0\u5173\u503c\uff08\u5728 <code>crontab<\/code> \u4e0d\u5e38\u7528\uff09\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u793a\u4f8b\uff1a<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>*\/10 * * * * \/path\/to\/script.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u89e3\u91ca<\/strong>\uff1a\u6bcf 10 \u5206\u949f\u6267\u884c\u4e00\u6b21\u811a\u672c <code>\/path\/to\/script.sh<\/code>\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3. \u7279\u6b8a\u65f6\u95f4\u683c\u5f0f<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>crontab<\/code> \u8fd8\u652f\u6301\u4e00\u4e9b\u9884\u5b9a\u4e49\u7684\u7279\u6b8a\u65f6\u95f4\u683c\u5f0f\uff0c\u7528\u6765\u7b80\u5316\u5e38\u89c1\u4efb\u52a1\u7684\u914d\u7f6e\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u7b26\u53f7<\/th><th>\u7b49\u4ef7\u8868\u8fbe\u5f0f<\/th><th>\u542b\u4e49<\/th><\/tr><\/thead><tbody><tr><td><code>@reboot<\/code><\/td><td>&#8211;<\/td><td>\u5728\u7cfb\u7edf\u542f\u52a8\u65f6\u8fd0\u884c\u4e00\u6b21<\/td><\/tr><tr><td><code>@yearly<\/code><\/td><td><code>0 0 1 1 *<\/code><\/td><td>\u6bcf\u5e74\u4e00\u6b21\uff0c1 \u6708 1 \u65e5 00:00 \u6267\u884c<\/td><\/tr><tr><td><code>@annually<\/code><\/td><td><code>0 0 1 1 *<\/code><\/td><td>\u540c <code>@yearly<\/code><\/td><\/tr><tr><td><code>@monthly<\/code><\/td><td><code>0 0 1 * *<\/code><\/td><td>\u6bcf\u6708\u4e00\u6b21\uff0c1 \u65e5 00:00 \u6267\u884c<\/td><\/tr><tr><td><code>@weekly<\/code><\/td><td><code>0 0 * * 0<\/code><\/td><td>\u6bcf\u5468\u4e00\u6b21\uff0c\u661f\u671f\u65e5 00:00 \u6267\u884c<\/td><\/tr><tr><td><code>@daily<\/code><\/td><td><code>0 0 * * *<\/code><\/td><td>\u6bcf\u65e5\u4e00\u6b21\uff0c00:00 \u6267\u884c<\/td><\/tr><tr><td><code>@midnight<\/code><\/td><td><code>0 0 * * *<\/code><\/td><td>\u540c <code>@daily<\/code><\/td><\/tr><tr><td><code>@hourly<\/code><\/td><td><code>0 * * * *<\/code><\/td><td>\u6bcf\u5c0f\u65f6\u4e00\u6b21\uff0c\u6bcf\u5c0f\u65f6\u7b2c 0 \u5206\u949f\u6267\u884c<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u793a\u4f8b\uff1a<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>@reboot \/path\/to\/script.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u89e3\u91ca<\/strong>\uff1a\u5728\u7cfb\u7edf\u91cd\u542f\u65f6\u6267\u884c\u811a\u672c <code>\/path\/to\/script.sh<\/code>\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4. \u64cd\u4f5c <code>crontab<\/code><\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u67e5\u770b\u5b9a\u65f6\u4efb\u52a1<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u67e5\u770b\u5f53\u524d\u7528\u6237\u7684\u4efb\u52a1\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  crontab -l<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u67e5\u770b\u5176\u4ed6\u7528\u6237\u7684\u4efb\u52a1\uff08\u9700\u8981 <code>sudo<\/code>\uff09\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  sudo crontab -u username -l<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u7f16\u8f91\u5b9a\u65f6\u4efb\u52a1<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528\u9ed8\u8ba4\u7f16\u8f91\u5668\u7f16\u8f91\u4efb\u52a1\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  crontab -e<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u5220\u9664\u5b9a\u65f6\u4efb\u52a1<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6e05\u7a7a\u5f53\u524d\u7528\u6237\u7684\u6240\u6709\u5b9a\u65f6\u4efb\u52a1\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  crontab -r<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u68c0\u67e5\u5b9a\u65f6\u4efb\u52a1\u662f\u5426\u6709\u6548<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>crontab<\/code> \u6587\u4ef6\u4fdd\u5b58\u65f6\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u68c0\u67e5\u8bed\u6cd5\u662f\u5426\u6b63\u786e\u3002<\/li>\n\n\n\n<li>\u82e5\u9700\u624b\u52a8\u9a8c\u8bc1\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  crontab -u username -l | crontab -<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>5. crontab \u914d\u7f6e\u5b9e\u4f8b<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u793a\u4f8b 1\uff1a\u6bcf\u5929\u51cc\u6668 1 \u70b9\u5907\u4efd\u6570\u636e\u5e93<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>0 1 * * * \/usr\/bin\/python3 \/home\/user\/backup.py &gt;&gt; \/home\/user\/backup.log 2&gt;&amp;1<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u793a\u4f8b 2\uff1a\u6bcf\u5c0f\u65f6\u7684\u7b2c 10 \u548c 50 \u5206\u949f\u6267\u884c\u4efb\u52a1<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>10,50 * * * * \/home\/user\/script.sh<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u793a\u4f8b 3\uff1a\u5de5\u4f5c\u65e5\u7684\u6bcf\u5929\u4e0b\u5348 2 \u70b9\u5230 6 \u70b9\uff0c\u6bcf 30 \u5206\u949f\u6267\u884c\u4efb\u52a1<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>*\/30 14-18 * * 1-5 \/home\/user\/weekday_task.sh<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u793a\u4f8b 4\uff1a\u6bcf\u6708\u7684\u6700\u540e\u4e00\u5929\u8fd0\u884c\u811a\u672c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>59 23 28-31 * * &#91; \"$(date +\\%d -d tomorrow)\" == \"01\" ] &amp;&amp; \/home\/user\/end_of_month.sh<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>6. \u65e5\u5fd7\u4e0e\u8c03\u8bd5<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u67e5\u770b <code>cron<\/code> \u65e5\u5fd7<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7cfb\u7edf <code>cron<\/code> \u4efb\u52a1\u65e5\u5fd7\u901a\u5e38\u5728\u4ee5\u4e0b\u4f4d\u7f6e\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  \/var\/log\/cron\n  \/var\/log\/syslog  # \u90e8\u5206\u7cfb\u7edf<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u67e5\u770b\u65e5\u5fd7\u5185\u5bb9\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  tail -f \/var\/log\/cron<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u8c03\u8bd5 <code>crontab<\/code><\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u786e\u4fdd <code>cron<\/code> \u670d\u52a1\u6b63\u5728\u8fd0\u884c\uff1a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  systemctl status cron<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5982\u679c\u811a\u672c\u4e0d\u6267\u884c\uff0c\u5e38\u89c1\u95ee\u9898\uff1a<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8def\u5f84\u95ee\u9898<\/strong>\uff1a<code>cron<\/code> \u4f7f\u7528\u7684\u73af\u5883\u53d8\u91cf\u8f83\u5c11\uff0c\u53ef\u80fd\u9700\u8981\u6307\u5b9a\u5b8c\u6574\u8def\u5f84\u3002<br><code>bash PATH=\/usr\/local\/bin:\/usr\/bin:\/bin<\/code><\/li>\n\n\n\n<li><strong>\u6743\u9650\u95ee\u9898<\/strong>\uff1a\u786e\u4fdd\u811a\u672c\u548c\u65e5\u5fd7\u6587\u4ef6\u53ef\u88ab\u5f53\u524d\u7528\u6237\u8bbf\u95ee\u3002<\/li>\n\n\n\n<li><strong>\u8f93\u51fa\u68c0\u67e5<\/strong>\uff1a\u5c06\u4efb\u52a1\u8f93\u51fa\u5199\u5165\u65e5\u5fd7\u6587\u4ef6\u6392\u67e5\u95ee\u9898\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>7. \u73af\u5883\u53d8\u91cf<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728 <code>crontab<\/code> \u6587\u4ef6\u4e2d\uff0c\u652f\u6301\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PATH=\/usr\/local\/bin:\/usr\/bin:\/bin\nMAILTO=user@example.com\nSHELL=\/bin\/bash<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>PATH<\/code><\/strong>\uff1a\u6307\u5b9a\u4efb\u52a1\u7684\u6267\u884c\u8def\u5f84\u3002<\/li>\n\n\n\n<li><strong><code>MAILTO<\/code><\/strong>\uff1a\u5c06\u4efb\u52a1\u8f93\u51fa\u901a\u8fc7\u90ae\u4ef6\u53d1\u9001\u5230\u6307\u5b9a\u90ae\u7bb1\u3002<\/li>\n\n\n\n<li><strong><code>SHELL<\/code><\/strong>\uff1a\u6307\u5b9a\u811a\u672c\u4f7f\u7528\u7684 shell \u7c7b\u578b\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">\u901a\u8fc7\u4ee5\u4e0a\u8be6\u89e3\uff0c\u4f60\u53ef\u4ee5\u7075\u6d3b\u4f7f\u7528 <code>crontab<\/code> \u8fdb\u884c\u5b9a\u65f6\u4efb\u52a1\u7ba1\u7406\uff0c\u9002\u7528\u4e8e\u5404\u79cd\u573a\u666f\u7684\u4efb\u52a1\u8c03\u5ea6\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>crontab \u662f Unix\/Linux \u7cfb\u7edf\u4e2d\u7528\u4e8e\u7ba1\u7406\u5b9a\u65f6\u4efb\u52a1\u7684\u5de5\u5177\uff0c\u5b83\u8ba9\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u7b80\u5355\u7684\u914d\u7f6e\uff0c\u5728\u6307\u5b9a\u65f6\u95f4 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1087","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/posts\/1087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/comments?post=1087"}],"version-history":[{"count":2,"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/posts\/1087\/revisions"}],"predecessor-version":[{"id":1100,"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/posts\/1087\/revisions\/1100"}],"wp:attachment":[{"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/media?parent=1087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/categories?post=1087"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.chan.ink\/index.php\/wp-json\/wp\/v2\/tags?post=1087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}