`
hulu26
  • 浏览: 222930 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

linux crontab 定时任务

阅读更多
1. crontab 用来执行定时任务

1.1 命令格式: minute  hour   day   month  weekday command
1.2 取值范围:  (0-59) (0-24) (1-31) (1-12)  (0-6)

1.2.1 特殊符号
( * ) 表示取值范围内的所有数字
( / ) 表示每隔..时间,*/5表示每5个时间单位
( -  ) 表示连续时间段
(  , ) 用于列举多个数字

1.2.2 举例说明
1. 30 03 * * * /home/abc.sh
    每天3:30执行/home/目录下的abc.sh
2. 30 03 1,15,25 * * /home/abc.sh
    每月的1,15,25号的3:30执行/home/目录下的abc.sh
3. 30 03 * * 6,0 /home/abc.sh
    每个星期六、日3:30执行/home/目录下的abc.sh
4. 0,30 18-23 * * * /home/abc.sh
    每天在18:00~23:00每隔30分钟执行/home/目录下的abc.sh
5. 0 23 * * 6 /home/abc.sh
    每周六的23:00执行/home/目录下的abc.sh

1.3 crontab 参数
crontab [-u user] -e -l -r
-u 用户名
-e 编辑crontab文件
-l 列出crontab文件的内容
-r 删除crontab文件

1.4 问题
手动执行*.sh脚本正常, crontab执行*.sh脚本失败, 这样可能是crontab环境变量设置有问题, 假如环境变量不会设置, 故使用下面的办法
在脚本开头第一行#!/bin/bash和脚本注释下添加两行内容,如下:
1   #!/bin/bash
2   #这里放注释
3   PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
4   export PATH
5   #下面就是脚本的主要内容,可以声明变量可以写函数之类的

注意要在所有其他非注释内容之前,这样做之后脚本在crontab中就能正常执行了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics