嗨,我有2个工作,第二份工作需要在第一份工作后30分钟运行。
我正在使用crontab -e来设置cron job
1st job 0 * * * * /home/hadoop/datapull.sh
2nd job /home/hadoop/loaddata.sh
我安排了我上面的第一份工作(datapull.sh),这将是evrey小时。
随后我的第二份工作需要在第一份工作完成30分钟后运行。
Lets say my 1st job runs 1PM,2PM,3PM,4PM so on and my second job should be around 1.30PM,2.30PM,3.30PM,4.30PM .
如何在cron选项卡中安排我的第二份工作来设置这样的设置。 Ned帮助设置cron标签。
答案 0 :(得分:2)
第二份工作:
30 * * * * /home/hadoop/loaddata.sh
这将运行你的cronjob,f.e。在0:30,1:30,2:30,3:30,...
这是一般设置cronjob的方式:
# * * * * * command to execute
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ └───── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
# │ │ │ └────────── month (1 - 12)
# │ │ └─────────────── day of month (1 - 31)
# │ └──────────────────── hour (0 - 23)
# └───────────────────────── min (0 - 59)
Asterisk(*)是什么意思
星号表示cron表达式匹配字段的所有值。例如,在第4个字段(月)中使用星号表示每个月。
<强>旁注强>
cronjobs中的其他特殊字符
斜线(/)
斜杠描述范围的增量。例如,第1场(分钟)中的3-59 / 15表示小时的第3分钟,之后每15分钟。形式&#34; * / ...&#34;相当于形式&#34; first-last /...",即在该字段的最大可能范围内的增量。
逗号(,)
逗号用于分隔列表的项目。例如,使用&#34; MON,WED,FRI&#34;在第5场(星期几)是指星期一,星期三和星期五。
连字符( - )
连字符定义范围。例如,2000 - 2010年表明每年在2000年至2010年之间,包括在内。
百分比(%)
除非使用反斜杠()进行转义,否则命令中的百分号(%)将更改为换行符,并且第一个%之后的所有数据将作为标准输入发送到命令。
答案 1 :(得分:2)
第一份工作应该从每小时0分钟开始,如同
第一份工作0 * * * * /home/hadoop/datapull.sh
正如你写的那样
但第二份工作必须从第30分钟开始,如:
第二份工作30 * * * * /home/hadoop/loaddata.sh
最好的问候是