execute crontab twice daily at 00h and 13:30

后端 未结 6 563
春和景丽
春和景丽 2020-12-10 00:30

i want to execute a script twice daily at 00:00 and 13:30 so i write :

0,30 0,13 * * *

it seems wrong for me, because like this, the script

相关标签:
6条回答
  • 2020-12-10 01:16

    Try this-: 00 01,13 * * *

    it will run at 1 A.M and 1 P.M

    0 讨论(0)
  • 2020-12-10 01:16

    You can not do that with cron on a single line. You have to create 2 separate lines like so:

    # Will run "YourCommand" at 00:00
    0   0   *   *   *   YourCommand
    # Will run "YourCommand" at 13:30
    30  13  *   *   *   YourCommand
    

    Or as a single line you can run a command every x hours, like so:

    # Will run "YourCommand" every 12 hours
    0   */12   *   *   *   YourCommand
    
    0 讨论(0)
  • 2020-12-10 01:16

    try ...

    00,30 00,13 * * * [ `date +%H%M` == 1330 ] || [ `date +%H%M` == 0000 ] && logger "its time"
    
    0 讨论(0)
  • 2020-12-10 01:18
    Try this out: 0 6,18 * * *
    

    it will run at minute 0 past hour 6 and 18

    Or you can try it out on cronguru

    0 讨论(0)
  • 2020-12-10 01:31

    You can't do what you want in one entry, since the two minute definitions will apply for both hour definitions (as you've identified).

    The solution is (unfortunately) use two cron entries. One for 00:00 and one for 13:30.

    An alternative is perhaps to execute one script at 00:00. That script would execute your original script, then wait 13.5 hours and then execute that script again. It would be easy to do via a simple sleep command, but I think it's unintuitive, and I'm not sure how cron manages such long running processes (what happens if you edit the crontab - does it kill a spawned job etc.)

    0 讨论(0)
  • 2020-12-10 01:35

    30 0,13 * * * somecommand.sh

    This is just purely an example, but you will see that this is a cron entry that will run at 0:30AM and then 1:30PM (13 is 1 in military time). Just comma separate the hours, or comma separate whatever section of the cron.

    0 讨论(0)
提交回复
热议问题