Выполнить команду за две минуты

Я пытаюсь выполнить однострочный, используя.

В принципе, я хочу отправить SMS в какой-то момент в будущем.

Вот моя команда для отправки SMS:

 php -r 'include_once("/home/eamorr/open/open.ie/www/newsite/ajax/constants.php");sendCentralSMS("08574930418","hi");' 

Вышеизложенное отлично работает! Я получаю свои sms через пару секунд.

Теперь, как я могу запустить эту команду в будущем?

Я пытался

 php -r 'include_once("/home/eamorr/open/open.ie/www/newsite/ajax/constants.php");sendCentralSMS("08574930418","hi");' | at now + 2 minutes 

Но это немедленно посылает мою команду! Я хочу отправить сообщение через 2 минуты!

3 Solutions collect form web for “Выполнить команду за две минуты”

Потому что это не так, как работает команда. принимает команду через STDIN. То, что вы делаете выше, запускает скрипт и дает его выход (если есть) at .

Это функциональный эквивалент того, что вы делаете:

 echo hey | at now + 1 minute 

Поскольку echo hey выдает только слово «эй», слово «эй» – это все, что я даю, чтобы выполнить одну минуту в будущем. Вероятно, вы захотите повторить команду full php вместо того, чтобы запускать ее самостоятельно. В моем примере:

 echo "echo hey" | at now + 1 minute 

РЕДАКТИРОВАТЬ:

Как отметил @Gnouc, у вас также была опечатка в вашей спецификации. Вы должны сказать «сейчас», чтобы он знал, в какое время вы добавляете 1 минуту.

У вас есть ошибка в синтаксисе:

 php -r 'include_once("/home/eamorr/open/open.ie/www/newsite/ajax/constants.php");sendCentralSMS("08574930418","hi");' | at now + 2 minutes 

От man at :

 You can also give times like now + count time-units, where the time-units can be minutes, hours, days, or weeks and you can tell at to run the job today by suffixing the time with today and to run the job tomorrow by suffixing the time with tomorrow. 

Вы должны перенести свою команду php в сценарий оболочки, а затем выполнить ее.

 $ cat sms.sh #!/bin/bash /usr/bin/php -r 'include_once("/home/eamorr/open/open.ie/www/newsite/ajax/constants.php");sendCentralSMS("08574930418","hi");' 

Затем:

 $ at -f sms.sh now + 2 minutes 

Если вам просто нужно отправить сообщение через 2 минуты независимо от подхода, я бы предложил использовать sleep .

 ( sleep 120 ; php -r 'include_once("/home/eamorr/open/open.ie/www/newsite /ajax/constants.php");sendCentralSMS("08574930418","hi");' ) 
  • Как передать аргументы в сценарий оболочки bash при выполнении этой команды с помощью?
  • Экстракт TOC файла epub
  • Остановка одной команды, запланированной командой, кроме других
  • Можно ли скопировать расширение в команде `at`?
  • Сбросить atq до нуля?
  • Почему `at` предупреждает меня, что команды будут выполняться с помощью / bin / sh? Что делать, если я хочу другую оболочку?
  • Можно планировать задачи с помощью at и передавать текущее время в качестве параметра с некоторыми операциями
  • Получить pid длинной команды, выполняемой через
  • Команда at внезапно / случайным образом выполняет задания
  • Interesting Posts

    Контрольная сумма ubuntu iso sha256

    Почему Gnome или KDE не производят собственный дистрибутив (или другие проекты для настольных компьютеров, если на то пошло)?

    stat: время печати в формате «long-iso»

    Задержка FIN-ACK отправлена ​​по linux

    Записывайте нажатия клавиш через ssh и сможете воспроизводить их

    Показывать текстовый файл по одной странице за один раз, подождать 20 секунд, затем автоматически настроить

    Не удается запустить Wi-Fi с помощью systemd

    замените слово или число в предложении, которое меньше 8, используя awk или sed

    основной исполняемый путь linux не отображается

    отображение даты после определенного числа дней путем чтения номера

    Способы сохранения ядра Linux?

    Как этот Makefile делает программу C даже без указания компилятора?

    Разделить файл gz и распаковать отдельно

    Ctrl + Alt + T не подтягивает новый терминал в Linux Mint Cinnamon 18.1

    Полноэкранные игры блокируют рабочий стол после минимизации (Bumblebee + Nvidia)

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