2016-07-26 115 views
1

以下Cron表達式的含義是什麼?這個cron表達式的含義是什麼0 50 13 1 1/1? *?

0 50 13 1 1/1 ? * 
  • 0:指0秒
  • 50:指50分鐘
  • 13:指每13小時

但我不知道1 1/1 ? *意義。

1是否意味着「每月的每一天」? 1/1是否意味着每年的每個月?

+0

我投票結束這個問題作爲題外話,因爲這個問題是關於一個非標準的cron表達式的方言(它有一個秒字段,一個字段包含'?',並且'1/1'是不是POSIX),但沒有提及在這裏使用哪種方言。除非編輯問題以包含'cron' /'crontab'的精確版本,否則無法回答。 – 2016-07-26 09:08:40

回答

1

crontab(5)手冊:

在用戶的crontab文件中的行的形式

minute hour day-of-month month day-of-week command 

你行:

0 50 13 1 1/1 ? * 

你的解釋是沒有意義的,因爲有沒有「秒」字段。 「小時」字段爲「50」。這實際上意味着「在1月13日的時間50:00,如果是星期一,運行命令'?*'」。

如果這是使用來自Oracle的CronTriggerQuartz Enterprise Job Scheduler(它似乎是同一件事),該行意味着「在13:50:00,在每個月的第一天,每週的任何一天,每年」。

1 1/1表示「每個月的第一個月(從一月開始)」。如果它是1 1/2這意味着「每隔一個月的第一個月(從一月開始)」。

最後的? *的意思是「每週的任何一天,每年」。

+0

這是一個非標準的格式,給定'?'和秒字段;請參閱[Oracle的CronTrigger](https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm)。另外,在某些方言中,「1/1」相當於「1」,而其他方面則表示「*」。 – 2016-07-26 08:59:41

+0

@Rhymoid更新了答案。 – Kusalananda

+1

請參閱我對OP中近距離投票的解釋。沒有明確提及方言這個問題是沒有意義的。任何答案都是猜測。 – 2016-07-26 09:11:39

相關問題