下面我以 centos7 为例来介绍我们在 linux 中如何创建定时任务
查看是否安装了 cron 服务
安装 cron
查看 cron 状态,设为开机启动
1 2 3 4 5
   | systemctl status crond   #查看状态 systemctl start crond    #启动 systemctl restart crond  #重启 systemctl enable crond   #设为开机启动 systemctl start crond    #启动crond服务
   | 
 
corntab 的一些命令
1 2 3 4
   | crontab -help crontab -l #查看当前定时任务 crontab -e #新建定时任务 crontab -r #删除定时任务
   | 
 
crontab -e 新建定时任务后,可输入定时任务,可参考文件 /etc/crontab
1 2 3 4 5 6 7 8 9
   | # Example of job definition:
  # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
   | 
 
crontab -e 新建定时任务后会在 /var/spool/cron 下生成 root 文件,里面即为定时任务
要使用该命令更新定时任务
1
   | 1  * * * run-parts /etc/crontab-test
   | 
 
该任务表示每分钟执行一次/etc/crontab-test 目录下的所有 .sh 文件。
/etc/crontab-test 目录下新建需要执行的任务文件,该目录可以自定义
test.sh 内部代码如下,表示访问一个链接。
1 2
   | #!/bin/sh curl http://***.com/test
   | 
 
还有一个问题,就是目录权限,如果 .sh 所在的目录没有权限,不会执行,具体验证可以直接在命令窗口执行 .sh 文件
1
   | sh /etc/crontab-test/test.sh
   | 
 
如果报错,可根据报错给相应的目录 777 权限
还有具体的执行日志可以在目录 /var/log 中查看
定时例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
   | # 每天早上6点 0 6 * * *
  # 每两个小时 0 */2 * * *
  # 晚上11点到早上7点之间每两个小时和早上八点 0 23-7/2,8 * * *
  # 每个月的4号【和】每个礼拜的礼拜一到礼拜三的早上11点 0 11 4 * 1-3
  # 1月1日早上4点 0 4 1 1 *
  # 每小时01分 01 * * * *
  # 每天凌晨4点02分 02 4 * * *
  # 每星期凌晨4点22分 22 4 * * 0
  # 每月1号凌晨4点42分 42 4 1 * *
  # 每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min 5,15,25,35,45,55 16,17,18 * * *
  # 每周一,三,五的下午3:00 00 15 * * 1,3,5
  # 每小时的10分,40分 10,40 * * * *
  # 每年的一月和四月,4号到9号的3点12分和3点55分执行 12,55 3 4-9 1,4 *
   | 
 
      
     
    
      
  
  
    
      
      
        
        致力于网站建设与Web开发。喜欢新事物,关注前后端动态,对新的技术有追求, 做一个优秀的web全栈工程师。