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

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

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, но я не знаю, как это сделать. Может ли кто-нибудь дать мне несколько ответов?

  • Запись содержимого из файла в другой файл с установленными временными интервалами с использованием разделителей
  • Сервер Ubuntu не может получить доступ к Интернету: отображается связанный с DNS
  • Переходные капли соединений SSH через AT & T
  • не удалось создать файл ключа. Ошибка установки Ubuntu
  • nVidia терпит неудачу после обновления
  • Команда PyCharm
  • Войдите в систему как пользователь unix, используя пароль, хранящийся в htpasswd
  • Можно ли ограничить набор английских локалей в системе?
  • 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

    Как извлечь определенные файлы из каталога в оболочке?

    Как стирает MTD с «dd if = / dev / zero», отличным от «flash_eraseall»?

    Проблема буферизации OpenSSL

    Сохранение большого количества мелких файлов в ленту LTO

    Как предотвратить случайную выходную консоль от взлома терминала?

    Почему вилка иногда возвращает родителя, а иногда и ребенка?

    ifconfig -a в сценарии оболочки

    Как я могу позволить людям установить мой пакет с помощью apt-get?

    brctl Не работает нормально с мостом eth0 и at0

    Windows не отображается во втором мониторе. Debian ATI проприетарные драйверы

    пытаясь передать несколько строк, один за другим (каждая строка имеет 3 элемента, разделенных пробелом), поданных в уже написанный скрипт

    Почему процесс установки FreeBSD pkg отключается?

    Формирование новых строк с печатью подстановок кошки

    хост только IP-адрес: может ли он быть 10. *. *. *?

    Symial aliasing файлы в подкаталогах без изменения текущего каталога

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