ÔõÑùÔÚLinuxϵͳÖÐ×°ÖúÍÉèÖÃSystemdºÍCrontab
ÔõÑùÔÚLinuxϵͳÖÐ×°ÖúÍÉèÖÃSystemdºÍCrontab
СÐò£º
SystemdºÍCrontabÊÇLinux²Ù×÷ϵͳÖзǾ³£ÓõŤ¾ß£¬ÓÃÓÚÖÎÀíºÍÖ´ÐÐϵͳʹÃü¡£±¾ÎĽ«ÏêϸÏÈÈÝÔõÑùÔÚLinuxϵͳÖÐ×°ÖúÍÉèÖÃSystemdºÍCrontab£¬²¢ÌṩÏêϸµÄ´úÂëʾÀý£¬×ÊÖú¶ÁÕ߸üºÃµØʹÓÃÕâÁ½¸ö¹¤¾ß¡£
Ò»¡¢×°ÖúÍÉèÖÃSystemd£º
SystemdÊÇÒ»¸öÓÉRed Hat¿ª·¢µÄϵͳ³õʼ»¯ºÍÖÎÀí¹¤¾ß£¬ÆÕ±éÓ¦ÓÃÓÚÐí¶àLinux¿¯ÐаæÖС£ÏÂÃæÊÇÔÚLinuxϵͳÖÐ×°ÖúÍÉèÖÃSystemdµÄ°ì·¨£º
¼ì²éSystemdÊÇ·ñÒѾװÖãº
¿ÉÒÔʹÓÃÈçÏÂÏÂÁî¼ì²éϵͳÖÐÊÇ·ñÒѾװÖÃÁËSystemd£º
systemctl --version
µÇ¼ºó¸´ÖÆ
×°ÖÃSystemd£º
ÈôÊÇϵͳÖÐûÓÐ×°ÖÃSystemd£¬Ôò¿ÉÒÔʹÓÃÒÔϸüÐÂÈí¼þ°ü¹ÜÀíÆ÷ÏÂÁîÀ´×°ÖÃËü£º
sudo apt-get update sudo apt-get install systemd
µÇ¼ºó¸´ÖÆ
ÉèÖÃSystemdЧÀÍ£º
ÔÚʹÓÃSystemd֮ǰ£¬ÎÒÃÇÐèÒª½¨ÉèÒ»¸öЧÀ͵¥Î»À´ÖÎÀíÎÒÃǵÄʹÃü¡£Ð§À͵¥Î»ÊÇÒ»¸ö°üÀ¨ÁËʹÃüÔËÐÐËùÐèµÄÉèÖÃÐÅÏ¢µÄÎļþ¡£½¨ÉèÒ»¸öÃûΪmytask.serviceµÄЧÀ͵¥Î»Îļþ£¬²¢Ê¹ÓÃÎı¾±à¼Æ÷·¿ªËü£º
sudo nano /etc/systemd/system/mytask.service
µÇ¼ºó¸´ÖÆ
ÔÚÎļþÖУ¬Ð´ÈëÒÔÏÂÉèÖÃÐÅÏ¢£º
[Unit] Description=My Task Wants=network.target After=network.target [Service] ExecStart=/usr/bin/python /path/to/mytask.py [Install] WantedBy=multi-user.target
µÇ¼ºó¸´ÖÆ
ÉÏÊöÉèÖÃÎļþÖУ¬DescriptionΪʹÃüÐÎò£¬ExecStartΪָ¶¨Ê¹ÃüÖ´ÐÐÏÂÁWantedByΪָ¶¨Ê¹ÃüÔÚϵͳÆô¶¯Ê±Ö´ÐС£Æ¾Ö¤ÏÖʵÐèÒªÐÞ¸ÄÉèÖÃÐÅÏ¢¡£
ÉúÑIJ¢¹Ø±ÕÎļþºó£¬ÖØмÓÔØSystemdÉèÖÃÎļþ£º
sudo systemctl daemon-reload
µÇ¼ºó¸´ÖÆ
Æô¶¯ºÍÖÎÀíʹÃü£º
Æô¶¯Ê¹Ãü¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
sudo systemctl start mytask.service
µÇ¼ºó¸´ÖÆ
×èֹʹÃü¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
sudo systemctl stop mytask.service
µÇ¼ºó¸´ÖÆ
Éó²éʹÃü״̬¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
sudo systemctl status mytask.service
µÇ¼ºó¸´ÖÆ
ÉèÖÃʹÃü¿ª»úÆô¶¯¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
sudo systemctl enable mytask.service
µÇ¼ºó¸´ÖÆ
¶þ¡¢×°ÖúÍÉèÖÃCrontab£º
CrontabÊÇÒ»¸öÓÃÓÚ׼ʱִÐÐʹÃüµÄ¹¤¾ß£¬ÔÚLinuxϵͳÖзǾ³£Óá£ÏÂÃæÊÇÔÚLinuxϵͳÖÐ×°ÖúÍÉèÖÃCrontabµÄ°ì·¨£º
¼ì²éCrontabÊÇ·ñÒѾװÖãº
¿ÉÒÔʹÓÃÈçÏÂÏÂÁî¼ì²éϵͳÖÐÊÇ·ñÒѾװÖÃÁËCrontab£º
crontab --version
µÇ¼ºó¸´ÖÆ
±à¼CrontabÉèÖÃÎļþ£º
CrontabÉèÖÃÎļþÊÇÒ»¸öÓû§×¨ÓõÄÉèÖÃÎļþ£¬ÓÃÓÚ½ç˵Óû§ÒªÖ´ÐеÄʹÃü¼°ÆäÖ´ÐÐʱ¼ä¡£Í¨¹ýÒÔÏÂÏÂÁî±à¼Ä¿½ñÓû§µÄCrontabÉèÖÃÎļþ£º
crontab -e
µÇ¼ºó¸´ÖÆ
Ìí¼ÓʹÃü£º
ÔÚ·¿ªµÄÎļþÖУ¬Æ¾Ö¤ÒÔÏÂÃûÌÃÌí¼ÓʹÃü£º
/usr/bin/python /path/to/mytask.py
ÉÏÊöʾÀýÖУ¬* * * * *ÌåÏÖÿ·ÖÖÓ¶¼Ö´ÐиÃʹÃü¡£Æ¾Ö¤ÏÖʵÐèÇóÐÞ¸Äʱ¼äºÍÖ´ÐÐÏÂÁî¡£
ÉúÑIJ¢¹Ø±ÕÎļþ¡£
Éó²éºÍÖÎÀíʹÃü£º
Éó²éÄ¿½ñÓû§µÄCrontabʹÃü¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
crontab -l
µÇ¼ºó¸´ÖÆ
ɾ³ýÄ¿½ñÓû§µÄCrontabʹÃü¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
crontab -r
µÇ¼ºó¸´ÖÆ
×ܽ᣺
±¾ÎÄÏêϸÏÈÈÝÁËÔõÑùÔÚLinuxϵͳÖÐ×°ÖúÍÉèÖÃSystemdºÍCrontab¡£Systemd¿ÉÒÔͨ¹ý½¨ÉèЧÀ͵¥Î»ÎļþÀ´ÖÎÀíʹÃüµÄÆô¶¯¡¢×èÖ¹ºÍ¿ª»úÆô¶¯£»¶øCrontabÔòͨ¹ý±à¼CrontabÉèÖÃÎļþÀ´×¼Ê±Ö´ÐÐʹÃü¡£Í¨¹ýÕÆÎÕÕâÁ½¸ö¹¤¾ßµÄʹÓÃÒªÁ죬¶ÁÕß¿ÉÒÔ¸üºÃµØÖÎÀíºÍÖ´ÐÐϵͳʹÃü£¬Ìá¸ßÊÂÇéЧÂÊ¡£
ÒÔÉϾÍÊÇÔõÑùÔÚLinuxϵͳÖÐ×°ÖúÍÉèÖÃSystemdºÍCrontabµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡