ºìÁªLinuxÃÅ»§
Linux°ïÖú

Unix/LinuxÖÐCronµÄÓ÷¨

·¢²¼Ê±¼ä:2007-05-05 00:44:48À´Ô´:ºìÁª×÷Õß:together
/sbin/service crond start //Æô¶¯·þÎñ
/sbin/service crond stop //¹Ø±Õ·þÎñ
/sbin/service crond restart //ÖØÆô·þÎñ
/sbin/service crond reload //ÖØÐÂÔØÈëÅäÖÃ

¿ÉÒÔ½«Õâ¸ö·þÎñÔÚϵͳÆô¶¯µÄʱºòÒ²×Ô¶¯Æô¶¯£º
ÔÚ/etc/rc.d/rc.localÕâ¸ö½Å±¾µÄĩβ¼ÓÉÏ£º
/sbin/service crond start

1.Ö±½ÓÓÃcrontabÃüÁî±à¼­
cron·þÎñÌṩcrontabÃüÁîÀ´É趨cron·þÎñµÄ£¬ÒÔÏÂÊÇÕâ¸öÃüÁîµÄһЩ²ÎÊýÓë˵Ã÷£º
crontab -u //É趨ij¸öÓû§µÄcron·þÎñ£¬Ò»°ãrootÓû§ÔÚÖ´ÐÐÕâ¸öÃüÁîµÄʱºòÐèÒª´Ë²ÎÊý
crontab -l //Áгöij¸öÓû§cron·þÎñµÄÏêϸÄÚÈÝ
crontab -r //ɾ³ýû¸öÓû§µÄcron·þÎñ
crontab -e //±à¼­Ä³¸öÓû§µÄcron·þÎñ

±ÈÈç˵root²é¿´×Ô¼ºµÄcronÉèÖãº
crontab -u root -l

ÔÙÀýÈ磬rootÏëɾ³ýfredµÄcronÉèÖãº
crontab -u fred -r

Ôڱ༭cron·þÎñʱ£¬±à¼­µÄÄÚÈÝÓÐһЩ¸ñʽºÍÔ¼¶¨£¬ÊäÈ룺
ÒýÓÃ:
crontab -u root -e

½øÈëvi±à¼­Ä£Ê½£¬±à¼­µÄÄÚÈÝÒ»¶¨Òª·ûºÏÏÂÃæµÄ¸ñʽ£º
*/1 * * * * ls >> /tmp/ls.txt

Õâ¸ö¸ñʽµÄǰһ²¿·ÖÊǶÔʱ¼äµÄÉ趨£¬ºóÃæÒ»²¿·ÖÊÇÒªÖ´ÐеÄÃüÁÈç¹ûÒªÖ´ÐеÄÃüÁîÌ«¶à£¬¿ÉÒÔ°ÑÕâЩÃüÁîдµ½Ò»¸ö½Å±¾ÀïÃæ£¬È»ºóÔÚÕâÀïÖ±½Óµ÷ÓÃÕâ¸ö½Å±¾¾Í¿ÉÒÔÁË£¬µ÷ÓõÄʱºò¼ÇµÃд³öÃüÁîµÄÍêÕû·¾¶¡£Ê±¼äµÄÉ趨ÎÒÃÇÓÐÒ»¶¨µÄÔ¼¶¨£¬Ç°ÃæÎå¸ö*ºÅ´ú±íÎå¸öÊý×Ö£¬Êý×ÖµÄȡֵ·¶Î§ºÍº¬ÒåÈçÏ£º
ÒýÓÃ:
·ÖÖÓ¡¡£¨0-59£©
С?¡¡£¨0-23£©
ÈÕÆÚ¡¡£¨1-31£©
Ô·ݡ¡£¨1-12£©
ÐÇÆÚ¡¡£¨0-6£©//0´ú±íÐÇÆÚÌì

³ýÁËÊý×Ö»¹Óм¸¸ö¸öÌØÊâµÄ·ûºÅ¾ÍÊÇ"*"¡¢"/"ºÍ"-"¡¢","£¬*´ú±íËùÓеÄȡֵ·¶Î§ÄÚµÄÊý×Ö£¬"/"´ú±íÿµÄÒâ˼,"*/5"±íʾÿ5¸öµ¥Î»£¬"-"´ú±í´Óij¸öÊý×Öµ½Ä³¸öÊý×Ö,","·Ö¿ª¼¸¸öÀëÉ¢µÄÊý×Ö¡£ÒÔϾټ¸¸öÀý×Ó˵Ã÷ÎÊÌ⣺
ÒýÓÃ:
ÿÌìÔçÉÏ6µã
0 6 * * * echo "Good morning." >> /tmp/test.txt //×¢Òâµ¥´¿echo£¬´ÓÆÁÄ»ÉÏ¿´²»µ½ÈκÎÊä³ö£¬ÒòΪcron°ÑÈκÎÊä³ö¶¼emailµ½rootµÄÐÅÏäÁË¡£

ÿÁ½¸öСʱ
0 */2 * * * echo "Have a break now." >> /tmp/test.txt

ÍíÉÏ11µãµ½ÔçÉÏ8µãÖ®¼äÿÁ½¸öСʱ£¬ÔçÉϰ˵ã
0 23-7/2£¬8 * * * echo "Have a good dream£º£©" >> /tmp/test.txt

ÿ¸öÔµÄ4ºÅºÍÿ¸öÀñ°ÝµÄÀñ°ÝÒ»µ½Àñ°ÝÈýµÄÔçÉÏ11µã
0 11 4 * 1-3 command line

1ÔÂ1ÈÕÔçÉÏ4µã
0 4 1 1 * command line

2.±à¼­/etc/crontab ÎļþÅäÖÃcron
cron·þÎñÿ·ÖÖÓ²»½öÒª¶ÁÒ»´Î/var/spool/cronÄÚµÄËùÓÐÎļþ£¬»¹ÐèÒª¶ÁÒ»´Î/etc/crontab,Òò´ËÎÒÃÇÅäÖÃÕâ¸öÎļþÒ²ÄÜÔËÓÃcron·þÎñ×öһЩÊÂÇé¡£ÓÃcrontabÅäÖÃÊÇÕë¶Ôij¸öÓû§µÄ£¬¶ø±à¼­/etc/crontabÊÇÕë¶ÔϵͳµÄÈÎÎñ¡£´ËÎļþµÄÎļþ¸ñʽÊÇ£º
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //Èç¹û³öÏÖ´íÎ󣬻òÕßÓÐÊý¾ÝÊä³ö£¬Êý¾Ý×÷ΪÓʼþ·¢¸øÕâ¸öÕʺÅ
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly //ÿ¸öСʱȥִÐÐÒ»±é/etc/cron.hourlyÄڵĽű¾
02 4 * * * root run-parts /etc/cron.daily //ÿÌìÈ¥Ö´ÐÐÒ»±é/etc/cron.dailyÄڵĽű¾
22 4 * * 0 root run-parts /etc/cron.weekly //ÿÐÇÆÚÈ¥Ö´ÐÐÒ»±é/etc/cron.weeklyÄڵĽű¾
42 4 1 * * root run-parts /etc/cron.monthly //ÿ¸öÔÂÈ¥Ö´ÐÐÒ»±é/etc/cron.monthlyÄڵĽű¾
ʹÓÃÕß ÔËÐеÄ·¾¶

×¢Òâ"run-parts"Õâ¸ö²ÎÊýÁË£¬Èç¹ûÈ¥µôÕâ¸ö²ÎÊýµÄ»°£¬ºóÃæ¾Í¿ÉÒÔдҪÔËÐеÄij¸ö½Å±¾Ãû£¬¶ø²»ÊÇÎļþ¼ÐÃûÁË¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ