Как запускать одну работу за раз, но каждый из них каждый час?

У меня есть следующий набор команд:

docker exec -u www-data bin/console api:execute --object=Account; docker exec -u www-data bin/console api:execute --object=AgreementType; docker exec -u www-data bin/console api:execute --object=CFProgramLevel; docker exec -u www-data bin/console api:execute --object=Product; docker exec -u www-data bin/console api:execute --object=Customer; docker exec -u www-data bin/console api:execute --object=Distributor; 

Поскольку указанная выше команда является последовательностью, они должны выполняться в том порядке, в котором они отображаются.

Что мне нужно достичь?

  • Запускать одно и только одно задание за раз
  • Уважайте последовательность и это среднее, например: Account должна запускаться сначала, чем CFProgramLevel AgreementType , CFProgramLevel AgreementType должен работать до CFProgramLevel и так далее
  • Выполнять все последовательности каждый час

Я думал, что использую cronjobs, но я не знаю, как это сделать. Может ли кто-нибудь дать мне несколько ответов?

  • Как установить mono's System.Windows.Forms на Ubuntu?
  • Компиляция и сборка с использованием make
  • Обмен огромными файловыми деревьями между дисками
  • Как запустить VNC-сервер при запуске в Ubuntu 10.04
  • Как проверить, какая версия vncserver установлена ​​на моем компьютере?
  • как называется пакет ubuntu, содержит llvm linker lld
  • Копирование файла с устройства MTP с использованием libmtp (через USB)
  • Массовые убийства
  • 2 Solutions collect form web for “Как запускать одну работу за раз, но каждый из них каждый час?”

    Поместите команды в скрипт и заплатите скрипт cron:

    Скрипт runstuff.sh :

     #!/bin/sh docker exec -u www-data bin/console api:execute --object=Account docker exec -u www-data bin/console api:execute --object=AgreementType docker exec -u www-data bin/console api:execute --object=CFProgramLevel docker exec -u www-data bin/console api:execute --object=Product docker exec -u www-data bin/console api:execute --object=Customer docker exec -u www-data bin/console api:execute --object=Distributor 

    Кронтаб:

     0 * * * * /path/to/runstuff.sh 

    или,

     @hourly /path/to/runstuff.sh 

    если ваш cron понимает @hourly (проверьте man 5 crontab ).

    Это позволяет вам изменить сценарий (если вам нужно) без редактирования существующей cronjob. Он также гарантирует, что вызовы Docker выполняются в правильном порядке и собирают всю обработку задания в одно место (скрипт).

    Вы можете запускать задание один раз в час и комбинировать в запуске все ваши скрипты в порядке по вашему выбору

    Для этого вам нужно делать работу в 0 минут, каждый час, каждый день, каждый месяц, каждый день недели, что означает это, в синтаксисе crontab:

     0 * * * * docker exec -u www-data bin/console api:execute --object=Account;docker exec -u www-data bin/console api:execute --object=AgreementType;docker exec -u www-data bin/console api:execute --object=CFProgramLevel;docker exec -u www-data bin/console api:execute --object=Product;docker exec -u www-data bin/console api:execute --object=Customer;docker exec -u www-data bin/console api:execute --object=Distributor; 

    Итак, вам нужно ввести предыдущий код в таблице crontab, просто введите crontab -e в свой терминал и скопируйте предыдущий код

    Interesting Posts

    Список подписчиков-подписчиков Red Hat: потребляется и устанавливается, дает различную информацию

    Как сохранить совпадения UID / GID-сопоставлений при архивировании гостевого LXC?

    Почему квадратные скобки препятствуют расширению оболочки?

    Как настроить Kate, чтобы всегда использовать 2 пробела для табуляции?

    Фиксирование переменной PATH

    Размер холста Gimp с помощью терминала

    Обновление пакета ядра Debian

    Команды окраски терминала (например, LS и CD)

    find: отсутствует аргумент `-exec 'в Cygwin

    Определите, на каком устройстве находится каталог.

    Как понять вывод трассировки, выполняющей внешнюю команду в фоновом режиме через strace

    Python – скрипт Pygame будет запускаться в оболочке, но не из сценария

    upstart jobs – привилегированные и непривилегированные

    расширение таблицы приоритетов в runqueue в ядре Linux

    Связь между блоками записи и файловой системы в SSD-дисках на Apple

    Linux и Unix - лучшая ОС в мире.