比如每天12点执行某条命令。谢谢大家了,网上的比较乱,也没太多时间去整理。
ããlinuxä¸ä½¿ç¨crontabå½ä»¤è¢«ç¨æ¥æ交å管çç¨æ·çéè¦å¨ææ§æ§è¡çä»»å¡ï¼ç¤ºä¾å¦ä¸ï¼
crontab -e ç¼è¾å¨æä»»å¡
30 21 * * * /etc/init.d/smb restart æ¯æç21:30éå¯smb
crontabå½ä»¤è¯´æï¼
ãcrontabå½ä»¤è¢«ç¨æ¥æ交å管çç¨æ·çéè¦å¨ææ§æ§è¡çä»»å¡ï¼ä¸windowsä¸ç计åä»»å¡ç±»ä¼¼ï¼å½å®è£ å®ææä½ç³»ç»åï¼é»è®¤ä¼å®è£ æ¤æå¡å·¥å ·ï¼å¹¶ä¸ä¼èªå¨å¯å¨crondè¿ç¨ï¼crondè¿ç¨æ¯åéä¼å®ææ£æ¥æ¯å¦æè¦æ§è¡çä»»å¡ï¼å¦ææè¦æ§è¡çä»»å¡ï¼åèªå¨æ§è¡è¯¥ä»»å¡ã
è¯æ³
ãcrontab(é项)(åæ°)
é项
ã-eï¼ç¼è¾è¯¥ç¨æ·ç计æ¶å¨è®¾ç½®ï¼
ã-lï¼ååºè¯¥ç¨æ·ç计æ¶å¨è®¾ç½®ï¼
ã-rï¼å é¤è¯¥ç¨æ·ç计æ¶å¨è®¾ç½®ï¼
ã-u<ç¨æ·å称>ï¼æå®è¦è®¾å®è®¡æ¶å¨çç¨æ·å称ã
åæ°
ãcrontabæ件ï¼æå®å å«å¾ æ§è¡ä»»å¡çcrontabæ件ã
ç¥è¯æ©å±
ãLinuxä¸çä»»å¡è°åº¦å为两类ï¼ç³»ç»ä»»å¡è°åº¦åç¨æ·ä»»å¡è°åº¦ã
ãç³»ç»ä»»å¡è°åº¦ï¼ç³»ç»å¨ææ§æè¦æ§è¡çå·¥ä½ï¼æ¯å¦åç¼åæ°æ®å°ç¡¬çãæ¥å¿æ¸ ççãå¨/etcç®å½ä¸æä¸ä¸ªcrontabæ件ï¼è¿ä¸ªå°±æ¯ç³»ç»ä»»å¡è°åº¦çé ç½®æ件ã
crontabæ件çå«ä¹ï¼
ãç¨æ·æ建ç«çcrontabæ件ä¸ï¼æ¯ä¸è¡é½ä»£è¡¨ä¸é¡¹ä»»å¡ï¼æ¯è¡çæ¯ä¸ªå段代表ä¸é¡¹è®¾ç½®ï¼å®çæ ¼å¼å ±å为å 个å段ï¼åäºæ®µæ¯æ¶é´è®¾å®æ®µï¼ç¬¬å 段æ¯è¦æ§è¡çå½ä»¤æ®µï¼æ ¼å¼å¦ä¸ï¼
minute hour day month week command 顺åºï¼å æ¶ æ¥ æ å¨
å ¶ä¸ï¼
minuteï¼ è¡¨ç¤ºåéï¼å¯ä»¥æ¯ä»0å°59ä¹é´çä»»ä½æ´æ°ã
hourï¼è¡¨ç¤ºå°æ¶ï¼å¯ä»¥æ¯ä»0å°23ä¹é´çä»»ä½æ´æ°ã
dayï¼è¡¨ç¤ºæ¥æï¼å¯ä»¥æ¯ä»1å°31ä¹é´çä»»ä½æ´æ°ã
monthï¼è¡¨ç¤ºæ份ï¼å¯ä»¥æ¯ä»1å°12ä¹é´çä»»ä½æ´æ°ã
weekï¼è¡¨ç¤ºææå ï¼å¯ä»¥æ¯ä»0å°7ä¹é´çä»»ä½æ´æ°ï¼è¿éç0æ7代表æææ¥ã
commandï¼è¦æ§è¡çå½ä»¤ï¼å¯ä»¥æ¯ç³»ç»å½ä»¤ï¼ä¹å¯ä»¥æ¯èªå·±ç¼åçèæ¬æ件ã
å¨ä»¥ä¸å个å段ä¸ï¼è¿å¯ä»¥ä½¿ç¨ä»¥ä¸ç¹æ®å符ï¼
æå·ï¼*ï¼ï¼ä»£è¡¨ææå¯è½çå¼ï¼ä¾å¦monthå段å¦ææ¯æå·ï¼å表示å¨æ»¡è¶³å ¶å®å段çå¶çº¦æ¡ä»¶åæ¯æé½æ§è¡è¯¥å½ä»¤æä½ã
éå·ï¼,ï¼ï¼å¯ä»¥ç¨éå·éå¼çå¼æå®ä¸ä¸ªå表èå´ï¼ä¾å¦ï¼â1,2,5,7,8,9â
ä¸æ ï¼-ï¼ï¼å¯ä»¥ç¨æ´æ°ä¹é´çä¸æ 表示ä¸ä¸ªæ´æ°èå´ï¼ä¾å¦â2-6â表示â2,3,4,5,6â
æ£æ线ï¼/ï¼ï¼å¯ä»¥ç¨æ£æ线æå®æ¶é´çé´éé¢çï¼ä¾å¦â0-23/2â表示æ¯ä¸¤å°æ¶æ§è¡ä¸æ¬¡ãåæ¶æ£æ线å¯ä»¥åæå·ä¸èµ·ä½¿ç¨ï¼ä¾å¦*/10ï¼å¦æç¨å¨minuteå段ï¼è¡¨ç¤ºæ¯ååéæ§è¡ä¸æ¬¡ã
crontab -e ç¼è¾å¨æä»»å¡
30 21 * * * /etc/init.d/smb restart æ¯æç21:30éå¯smb
crontabå½ä»¤è¯´æï¼
ãcrontabå½ä»¤è¢«ç¨æ¥æ交å管çç¨æ·çéè¦å¨ææ§æ§è¡çä»»å¡ï¼ä¸windowsä¸ç计åä»»å¡ç±»ä¼¼ï¼å½å®è£ å®ææä½ç³»ç»åï¼é»è®¤ä¼å®è£ æ¤æå¡å·¥å ·ï¼å¹¶ä¸ä¼èªå¨å¯å¨crondè¿ç¨ï¼crondè¿ç¨æ¯åéä¼å®ææ£æ¥æ¯å¦æè¦æ§è¡çä»»å¡ï¼å¦ææè¦æ§è¡çä»»å¡ï¼åèªå¨æ§è¡è¯¥ä»»å¡ã
è¯æ³
ãcrontab(é项)(åæ°)
é项
ã-eï¼ç¼è¾è¯¥ç¨æ·ç计æ¶å¨è®¾ç½®ï¼
ã-lï¼ååºè¯¥ç¨æ·ç计æ¶å¨è®¾ç½®ï¼
ã-rï¼å é¤è¯¥ç¨æ·ç计æ¶å¨è®¾ç½®ï¼
ã-u<ç¨æ·å称>ï¼æå®è¦è®¾å®è®¡æ¶å¨çç¨æ·å称ã
åæ°
ãcrontabæ件ï¼æå®å å«å¾ æ§è¡ä»»å¡çcrontabæ件ã
ç¥è¯æ©å±
ãLinuxä¸çä»»å¡è°åº¦å为两类ï¼ç³»ç»ä»»å¡è°åº¦åç¨æ·ä»»å¡è°åº¦ã
ãç³»ç»ä»»å¡è°åº¦ï¼ç³»ç»å¨ææ§æè¦æ§è¡çå·¥ä½ï¼æ¯å¦åç¼åæ°æ®å°ç¡¬çãæ¥å¿æ¸ ççãå¨/etcç®å½ä¸æä¸ä¸ªcrontabæ件ï¼è¿ä¸ªå°±æ¯ç³»ç»ä»»å¡è°åº¦çé ç½®æ件ã
crontabæ件çå«ä¹ï¼
ãç¨æ·æ建ç«çcrontabæ件ä¸ï¼æ¯ä¸è¡é½ä»£è¡¨ä¸é¡¹ä»»å¡ï¼æ¯è¡çæ¯ä¸ªå段代表ä¸é¡¹è®¾ç½®ï¼å®çæ ¼å¼å ±å为å 个å段ï¼åäºæ®µæ¯æ¶é´è®¾å®æ®µï¼ç¬¬å 段æ¯è¦æ§è¡çå½ä»¤æ®µï¼æ ¼å¼å¦ä¸ï¼
minute hour day month week command 顺åºï¼å æ¶ æ¥ æ å¨
å ¶ä¸ï¼
minuteï¼ è¡¨ç¤ºåéï¼å¯ä»¥æ¯ä»0å°59ä¹é´çä»»ä½æ´æ°ã
hourï¼è¡¨ç¤ºå°æ¶ï¼å¯ä»¥æ¯ä»0å°23ä¹é´çä»»ä½æ´æ°ã
dayï¼è¡¨ç¤ºæ¥æï¼å¯ä»¥æ¯ä»1å°31ä¹é´çä»»ä½æ´æ°ã
monthï¼è¡¨ç¤ºæ份ï¼å¯ä»¥æ¯ä»1å°12ä¹é´çä»»ä½æ´æ°ã
weekï¼è¡¨ç¤ºææå ï¼å¯ä»¥æ¯ä»0å°7ä¹é´çä»»ä½æ´æ°ï¼è¿éç0æ7代表æææ¥ã
commandï¼è¦æ§è¡çå½ä»¤ï¼å¯ä»¥æ¯ç³»ç»å½ä»¤ï¼ä¹å¯ä»¥æ¯èªå·±ç¼åçèæ¬æ件ã
å¨ä»¥ä¸å个å段ä¸ï¼è¿å¯ä»¥ä½¿ç¨ä»¥ä¸ç¹æ®å符ï¼
æå·ï¼*ï¼ï¼ä»£è¡¨ææå¯è½çå¼ï¼ä¾å¦monthå段å¦ææ¯æå·ï¼å表示å¨æ»¡è¶³å ¶å®å段çå¶çº¦æ¡ä»¶åæ¯æé½æ§è¡è¯¥å½ä»¤æä½ã
éå·ï¼,ï¼ï¼å¯ä»¥ç¨éå·éå¼çå¼æå®ä¸ä¸ªå表èå´ï¼ä¾å¦ï¼â1,2,5,7,8,9â
ä¸æ ï¼-ï¼ï¼å¯ä»¥ç¨æ´æ°ä¹é´çä¸æ 表示ä¸ä¸ªæ´æ°èå´ï¼ä¾å¦â2-6â表示â2,3,4,5,6â
æ£æ线ï¼/ï¼ï¼å¯ä»¥ç¨æ£æ线æå®æ¶é´çé´éé¢çï¼ä¾å¦â0-23/2â表示æ¯ä¸¤å°æ¶æ§è¡ä¸æ¬¡ãåæ¶æ£æ线å¯ä»¥åæå·ä¸èµ·ä½¿ç¨ï¼ä¾å¦*/10ï¼å¦æç¨å¨minuteå段ï¼è¡¨ç¤ºæ¯ååéæ§è¡ä¸æ¬¡ã
温馨提示:答案为网友推荐,仅供参考
第1个回答 2018-03-30
linux下使用crontab命令被用来提交和管理用户的需要周期性执行的任务,示例如下:
crontab -e 编辑周期任务
30 21 * * * /etc/init.d/smb restart 每晚的21:30重启smb
crontab命令说明:
crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
选项
-e:编辑该用户的计时器设置;
-l:列出该用户的计时器设置;
-r:删除该用户的计时器设置;
-u<用户名称>:指定要设定计时器的用户名称。
参数
crontab文件:指定包含待执行任务的crontab文件。
第2个回答 2020-12-23
第3个回答 2014-09-10
1: 编辑/etc/crontab 文件配置cron
2: crontable内容
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
#每天12点执行一次 /bin/ls :
0 12 * * * /bin/ls
3: 启动
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
2: crontable内容
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
#每天12点执行一次 /bin/ls :
0 12 * * * /bin/ls
3: 启动
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
第4个回答 2014-09-10
定时执行任务也不是必须sh才可以。利用crontab命令即可。利用man命令查看下cromtab的用法吧。