ÔõÑùʹÓÃCronÔÚLinuxÉÏ°²ÅÅ׼ʱʹÃü
ÔõÑùʹÓÃcronÔÚlinuxÉÏ°²ÅÅ׼ʱʹÃü
ÔÚLinuxϵͳÉÏ£¬ÎÒÃÇ¿ÉÒÔʹÓÃCronÀ´°²ÅÅ׼ʱʹÃü¡£CronÊÇÒ»¸ö×÷Òµµ÷Àí¹¤¾ß£¬¿ÉÒÔÈÃÎÒÃÇ°´ÆÚÖ´ÐÐһЩÌض¨µÄʹÃü£¬ÀýÈ籸·ÝÎļþ¡¢ÕûÀí»º´æµÈ¡£±¾ÎĽ«ÏÈÈÝÔõÑùʹÓÃcronÔÚlinuxÉÏ°²ÅÅ׼ʱʹÃü£¬²¢ÌṩһЩ´úÂëʾÀý¡£
µÚÒ»²½£º±à¼CrontabÎļþ
Crontab£¨cron table£©ÊÇÒ»¸öϵͳ¹æÄ£ÄÚµÄÎļþ£¬ÆäÖаüÀ¨ÁËËùÓÐÓû§×¼Ê±Ê¹ÃüµÄÏêϸÐÅÏ¢¡£ÎÒÃÇ¿ÉÒÔʹÓÃCronÌṩµÄÏÂÁîÐй¤¾ßÀ´±à¼CrontabÎļþ¡£
·¿ªÖն˴°¿Ú£¬²¢ÊäÈëÒÔÏÂÏÂÁîÀ´±à¼Ä¿½ñÓû§µÄCrontabÎļþ£º
crontab -e
µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ
ÈôÊÇÊǵÚÒ»´Î±à¼¸ÃÎļþ£¬ÏµÍ³»áÒªÇóÑ¡Ôñ±à¼Æ÷£¬ÎÒÃÇ¿ÉÒÔÑ¡Ôñ×Ô¼ºÊìϤµÄ±à¼Æ÷£¬ÀýÈçnano»òvim¡£
µÚ¶þ²½£ºÌí¼Ó׼ʱʹÃü
ÔÚ·¿ªµÄCrontabÎļþÖУ¬Ã¿ÐÐÌåÏÖÒ»¸ö׼ʱʹÃü¡£Ã¿ÐеÄÃûÌ÷ÖΪÁù¸ö×ֶΣº·ÖÖÓ¡¢Ð¡Ê±¡¢ÈÕÆÚ¡¢Ô·ݡ¢ÐÇÆÚ¡¢ÏÂÁî¡£ÎÒÃÇ¿ÉÒÔƾ֤ÐèÇóÀ´ÌîдÕâЩ×ֶΡ£
ÒÔÏÂÊÇÒ»¸öʾÀýµÄ׼ʱʹÃü£¬ÌìÌìµÄÆÆÏþ1µãÖ´ÐÐÒ»´Î±¸·Ý²Ù×÷£º
0 1 * * * /usr/bin/backup_script.sh
µÇ¼ºó¸´ÖÆ
×¢½â£º
µÚÒ»¸ö×Ö¶ÎÌåÏÖ·ÖÖÓ£¬¹æÄ£ÊÇ0-59£»
µÚ¶þ¸ö×Ö¶ÎÌåÏÖСʱ£¬¹æÄ£ÊÇ0-23£»
µÚÈý¸ö×Ö¶ÎÌåÏÖÈÕÆÚ£¬¹æÄ£ÊÇ1-31£»
µÚËĸö×Ö¶ÎÌåÏÖÔ·ݣ¬¹æÄ£ÊÇ1-12£»
µÚÎå¸ö×Ö¶ÎÌåÏÖÐÇÆÚ£¬¹æÄ£ÊÇ0-7£»
×îºóÒ»¸ö×Ö¶ÎÊÇÏÖʵÐèÒªÖ´ÐеÄÏÂÁî¡£
ÈôÊÇÎÒÃÇÐèÒªÔÚÌض¨µÄʱ¼ä¶ÎÖ´ÐÐʹÃü£¬ÎÒÃÇ¿ÉÒÔʹÓÃͨÅä·û”*/n”À´È¡´úÏêϸµÄÊýÖµ¡£ÀýÈ磬ÒÔÏÂʾÀý½«ÔÚÿ¸ô10·ÖÖÓÖ´ÐÐÒ»´ÎʹÃü£º
*/10 * * * * /usr/bin/task_script.sh
µÇ¼ºó¸´ÖÆ
ÔÚCrontabÎļþÖУ¬ÎÒÃÇ¿ÉÒÔÌí¼Ó¶à¸ö׼ʱʹÃü£¬Ã¿¸öʹÃüÕ¼ÓÐÒ»ÐС£
µÚÈý²½£ºÉúÑIJ¢Í˳ö
ÔÚ±à¼Íê³Éºó£¬ÎÒÃÇ¿ÉÒÔʹÓÿì½Ý¼ü “Ctrl + X”£¬È»ºóÑ¡Ôñ “Y” À´ÉúÑÄÐ޸ġ£
µÚËIJ½£ºÉó²é׼ʱʹÃü
Äã¿ÉÒÔͨ¹ýÒÔÏÂÏÂÁîÀ´Éó²éÄ¿½ñÓû§µÄ׼ʱʹÃüÁÐ±í£º
crontab -l
µÇ¼ºó¸´ÖÆ
Õâ»áÏÔʾĿ½ñÓû§µÄËùÓÐ׼ʱʹÃü¡£
¼øÓÚϵͳCrontabÎļþÒ²ÓÃÓÚ°²ÅÅϵͳ¼¶Ê¹Ãü£¬ÎÒÃÇ¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÀ´Éó²éϵͳ¹æÄ£ÄÚµÄ׼ʱʹÃüÁÐ±í£º
sudo cat /etc/crontab
µÇ¼ºó¸´ÖÆ
ÔÚÕâ¸öÎļþÖУ¬Ä㽫ÕÒµ½ËùÓÐÓû§µÄ׼ʱʹÃü¡£
×îºó£¬ÎªÁËÈ·±£CronЧÀÍÒѾÆô¶¯£¬¿ÉÒÔʹÓÃÒÔÏÂÏÂÁî¼ì²éËüµÄ״̬£º
sudo service cron status
µÇ¼ºó¸´ÖÆ
´úÂëʾÀý
ÔÚÕâÀÎÒÃÇÌṩÁ½¸ö¼òÆÓµÄʾÀý´úÂëÀ´ÑÝʾÔõÑùʹÓÃcronÔÚlinuxÉÏ°²ÅÅ׼ʱʹÃü¡£
ʾÀý1£ºÌìÌìÔçÉÏ6µã×Ô¶¯·¢ËÍÈÕÖ¾Îļþ
½¨ÉèÒ»¸öÃûΪ “send_log.sh” µÄÎļþ£¬²¢½«ÒÔÏ´úÂ븴ÖƵ½ÎļþÖУº
#!/bin/bash # ÕâÊÇÒ»¸öÄ£Äâ·¢ËÍÈÕÖ¾ÎļþµÄ¾ç±¾ echo "Sending log file: /var/log/app.log" # actual send log command
µÇ¼ºó¸´ÖÆ
È»ºó£¬ÔËÐÐÒÔÏÂÏÂÁîÀ´±à¼×¼Ê±Ê¹Ãü£º
crontab -e
µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ
ÔÚ·¿ªµÄCrontabÎļþÖÐÌí¼ÓÒÔÏÂÐУº
0 6 * * * /path/to/send_log.sh
µÇ¼ºó¸´ÖÆ
ÉúÑIJ¢Í˳öÎļþ¡£
ʾÀý2£ºÃ¿ÖÜÎåÏÂÕ½Êé3µãÕûÀí»º´æÎļþ
½¨ÉèÒ»¸öÃûΪ “cleanup_cache.sh” µÄÎļþ£¬²¢½«ÒÔÏ´úÂ븴ÖƵ½ÎļþÖУº
#!/bin/bash # ÕâÊÇÒ»¸öÄ£ÄâÕûÀí»º´æÎļþµÄ¾ç±¾ echo "Cleaning up cache files: /var/cache/*" # actual cleanup command
µÇ¼ºó¸´ÖÆ
ÔËÐÐÒÔÏÂÏÂÁîÀ´±à¼×¼Ê±Ê¹Ãü£º
crontab -e
µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ
ÔÚ·¿ªµÄCrontabÎļþÖÐÌí¼ÓÒÔÏÂÐУº
0 15 * * 5 /path/to/cleanup_cache.sh
µÇ¼ºó¸´ÖÆ
ÉúÑIJ¢Í˳öÎļþ¡£
×ܽá
ͨ¹ýʹÓÃCron£¬ÎÒÃÇ¿ÉÒÔºÜÀû±ãµØÔÚLinuxϵͳÉÏ°²ÅÅ׼ʱʹÃü¡£Ê×ÏÈ£¬ÎÒÃÇÐèÒª±à¼CrontabÎļþ£¬È»ºóÌí¼ÓÎÒÃÇÏëҪ׼ʱִÐеÄÏÂÁî¡£ÎÒÃÇ¿ÉÒÔʹÓÃͨÅä·ûÀ´ÉèÖÃÌض¨µÄʱ¼ä¾àÀ룬Ҳ¿ÉÒÔÌí¼Ó¶à¸ö׼ʱʹÃü¡£×îºó£¬ÎÒÃÇ¿ÉÒÔʹÓÃÏÂÁîÀ´Éó²éÄ¿½ñÓû§»òϵͳ¹æÄ£ÄÚµÄ׼ʱʹÃüÁÐ±í¡£
ÒÔÉϾÍÊÇÔõÑùʹÓÃCronÔÚLinuxÉÏ°²ÅÅ׼ʱʹÃüµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡