Linux Systemd CrontabÖ®¼äµÄÇø±ðºÍʹÓó¡¾°
Linux Systemd CrontabÖ®¼äµÄÇø±ðºÍʹÓó¡¾°
Linux²Ù×÷ϵͳÏ£¬ÓÐÁ½ÖÖ³£¼ûµÄ׼ʱʹÃü¹¤¾ß£¬»®·ÖÊÇSystemdºÍCrontab¡£ÕâÁ½ÖÖ¹¤¾ßËäÈ»¶¼¿ÉÒÔÓÃÀ´Ö´ÐÐ׼ʱʹÃü£¬µ«ÔÚһЩϸ½ÚºÍʹÓó¡¾°ÉÏÓÐһЩÇø±ð¡£
Systemd
SystemdÊÇLinuxϵͳµÄ³õʼ»¯Àú³Ì£¬Ëü¿ÉÒÔÖÎÀíϵͳµÄÖÖÖÖЧÀÍ¡£SystemdÔÚ׼ʱʹÃüÖÎÀí·½ÃæÌṩÁËtimerµ¥Î»À´ÊµÏÖ׼ʱ´¥·¢¡£Ïà½ÏÓÚCrontab£¬SystemdµÄ׼ʱʹÃüÖÎÀíÔ½·¢ÎÞа£¬ÉèÖüòÆÓ£¬¹¦Ð§Ç¿Ê¢¡£
SystemdµÄ׼ʱʹÃüÉèÖÃÎļþÒ»Ñùƽ³£°²ÅÅÔÚ/etc/systemd/systemĿ¼Ï£¬ÒÔ.timerΪºó׺Ãû¡£ÒÔÏÂÊÇÒ»¸öSystemd׼ʱʹÃüµÄÉèÖÃʾÀý£º
[Unit] Description=My Timer [Timer] OnCalendar=*-*-* 00:00:00 Persistent=true [Install] WantedBy=timers.target
µÇ¼ºó¸´ÖÆ
ÉÏÊöÉèÖÃÎļþÖУ¬OnCalendar×Ö¶ÎÖ¸¶¨ÁËʹÃüÖ´ÐеÄʱ¼ä£¬ÕâÀïÌåÏÖÌìÌìÁãµãÖ´ÐÐÒ»´Î¡£Persistent×Ö¶ÎÖ¸¶¨ÁËʹÃüÊÇ·ñÉúÑIJ¢ÔÚÏ´ÎÆô¶¯Ê±¼ÌÐøÖ´ÐС£
Crontab
CrontabÊÇÒ»ÖÖ³£¼ûµÄ׼ʱʹÃüµ÷Àí¹¤¾ß£¬ÊÇUnixºÍÀàUnixϵͳÖÐ×î³£ÓõÄ׼ʱʹÃüÖÎÀí¹¤¾ß¡£Crontabͨ¹ý¶ÁÈ¡Ï¢ÕùÎöÿ¸öÓû§µÄcrontabÎļþÀ´Ö´ÐÐ׼ʱʹÃü¡£CrontabµÄʹÃüÉèÖÃÏà¹ØÓÚSystemdÀ´ËµÉÔÏÔÖش󣬵«Ëü¾ßÓиü¶à¿ÉÉèÖÃÏ¸üÎÞа¡£
ÎÒÃÇ¿ÉÒÔͨ¹ýcrontab -eÖ¸Áî±à¼Óû§µÄcrontabÉèÖÃÎļþ£¬ÒÔÏÂÊÇÒ»¸öCrontab׼ʱʹÃüµÄÉèÖÃʾÀý£º
0 0 * * * /path/to/script.sh
µÇ¼ºó¸´ÖÆ
ÉÏÊöÉèÖÃÌåÏÖÌìÌìµÄ0µã0·ÖÖ´ÐÐÖ¸¶¨Â·¾¶ÏµÄscript.sh¾ç±¾¡£
Á½ÖÖ׼ʱʹÃü¹¤¾ßµÄ±ÈÕÕ£º
ÖÎÀí·½·¨£ºSystemdÊÇLinuxϵͳµÄ³õʼ»¯Àú³Ì£¬¿ÉÒÔÖÎÀíϵͳµÄÖÖÖÖЧÀÍ£¬°üÀ¨×¼Ê±Ê¹Ãü£»CrontabÊÇÒ»¸ö×ÔÁ¦µÄÀú³Ì£¬×¨ÃÅÓÃÓÚ׼ʱʹÃüµÄÖÎÀí¡£
ÎÞаÐÔ£ºSystemdµÄ׼ʱʹÃüÖÎÀíÔ½·¢ÎÞа£¬¿ÉÒÔƾ֤ʱ¼ä¡¢ÊÂÎñµÈ¶àÖÖ·½·¨¾ÙÐÐÉèÖã»CrontabÖ§³Ö¸ü¶àµÄÉèÖÃÑ¡Ï¿ÉÒÔʵÏÖ¸üΪÖØ´óµÄ׼ʱµ÷Àí¡£
ÉèÖÃÎļþ£ºSystemdµÄ׼ʱʹÃüÉèÖÃÎļþÒÔ.timerΪºó׺£¬°²ÅÅÔÚ/etc/systemd/systemĿ¼Ï£»CrontabµÄÉèÖÃÎļþΪÓû§µÄcrontabÎļþ£¬Í¨¹ýcrontab -e¾ÙÐб༡£
׼ȷ¶È£ºSystemdµÄ׼ʱʹÃü¿ÉÒÔºÜÊÇ׼ȷµØÖ¸¶¨Ê¹ÃüÖ´ÐеÄʱ¼äµã£»CrontabµÄ×îСµ¥Î»ÊÇ·ÖÖÓ£¬ÎÞ·¨×¼È·µ½Ãë¡£
»ùÓÚÒÔÉϵÄÇø±ð£¬ÎÒÃÇ¿ÉÒÔÑ¡ÔñºÏÊʵÄ׼ʱʹÃü¹¤¾ßÀ´Öª×ã²î±ðµÄÐèÇóºÍ³¡¾°¡£ÈôÊÇÖ»ÊǼòÆÓµÄ׼ʱʹÃüµ÷Àí£¬Crontab×ã¹»Öª×ãÐèÇó£»ÈôÊÇÐèÒª¶ÔϵͳЧÀ;ÙÐÐÖØ´óµÄÖÎÀíºÍµ÷Àí£¬SystemdÊǸüºÃµÄÑ¡Ôñ¡£
×ܽ᣺
SystemdºÍCrontab¶¼Êdz£¼ûµÄ׼ʱʹÃü¹¤¾ß£¬ËüÃÇÔÚʹÓ÷½·¨¡¢ÉèÖÃÎļþºÍ¹¦Ð§Éϱ£´æһЩÇø±ð¡£Ñ¡ÔñʹÓÃÄÄÖÖ¹¤¾ßÖ÷Ҫȡ¾öÓÚʹÃüµÄÖØƯºóºÍÐèÇó¡£ÊìÁ·ÕÆÎÕÕâÁ½ÖÖ¹¤¾ßµÄʹÓÃÒªÁ죬½«ÎªÎÒÃǵÄϵͳά»¤ºÍʹÃüµ÷Àí´øÀ´±ãµ±¡£
ÒÔÉϾÍÊÇLinux Systemd CrontabÖ®¼äµÄÇø±ðºÍʹÓó¡¾°µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡