Таким образом, у меня есть следующее правило crontab (их называют правилами, правильно?), но после того, как a.out закончен, b.out не запускается.
00 15 * * * /home/jesse/test/a.out && /home/jesse/test/b.out
Оба - некоторое программное обеспечение, которое я создал сам в C++. a.out занимает приблизительно 1,5 часа для завершения, b.out меньше чем минута.
Если я подкачиваю их, первый b, чем a, они оба выполненные. Я проверил, возвращает ли, возможно, a.out false или 0 на завершении, но оба a/b возвращаются 1. Когда я выполняю эту ту же команду непосредственно в терминале, оба выполненных очень хорошо. Это привело меня полагать, что это - crontab вещь.
Что продолжается здесь? Мое правило является неправильным или является рабочей продолжительностью слишком много?
Крон должен сделать это без проблемы. Однако эти &&
означает, "делают вторую команду, только если первое вышло успешно". Таким образом, если второе игнорируется, то, скорее всего, первое отказавшее или, в любом случае, вышедший со статусом выхода! = 0.
Так, или зафиксировать, что заставляет первую команду приводить к сбою или изменять crontab, таким образом, это выполняет одну команду после другого независимо от того, работало ли это или нет:
00 15 * * * /home/jesse/test/a.out; /home/jesse/test/b.out
Если бы у Вас есть несколько команд для выполнения только от одной crontab записи (хотя я предложил бы выполнить 2 crontab записи), можно назвать команды из сценария оболочки и назвать сценарий от crontab (использующий полный путь для сценария).