Рейтинг:0

Как запустить запланированную задачу в Ubuntu с помощью строки из Laravel

флаг tg

мне нужно бежать Резервное копирование sudo php artisan: запустить и автоматически вводить пароль каждый день в 15:00. Я знаю, как это сделать в Windows, просто используя планировщик задач и задав запуск от имени администратора в сценарии .bat.

guiverc avatar
флаг cn
Только поддерживаемые выпуски Ubuntu (*стандартная или публичная поддержка*) актуальны для этого сайта. Ubuntu 14.04 LTS является EOL (*конец жизни*), поэтому не по теме, а Ubuntu 14.04 ESM находится в *расширенной* поддержке и поддерживается только Canonical через Ubuntu Advantage, поэтому здесь также не по теме. См. https://askubuntu.com/help/on-topic https://help.ubuntu.com/community/EOLUpgrades https://fridge.ubuntu.com/2019/05/02/ubuntu-14-04-trusty-tahr-reached-end-of-life-on-april-25-2019-esm-available/
Рейтинг:1
флаг us

Это должен быть почти таким же в Ubuntu 14.04, как и в последних выпусках, однако могут быть некоторые отличия.

Задача делится на две части:

  • Быть способным судо без пароля добавьте пользователя в sudoers файл и разрешить им не требовать пароль.
  • Для автоматического запуска задания используйте хрон.

sudoers

Добавьте пользователя в группу sudo с помощью

usermod -aG sudo <имя пользователя>

Изменять <username> пользователю, от имени которого вы хотите запустить задание.

Чтобы не вводить пароль, отредактируйте /etc/sudoers файл:

зрение

и добавьте в конец файла следующую строку:

<имя пользователя> ALL=(ALL) NOPASSWD:ALL

Опять же, изменить <username> пользователю, от имени которого вы хотите запустить задание.

Обратите внимание, что лучшим подходом было бы создание нового файла sudoers для вашего конкретного пользователя вместо редактирования основного файла sudoers, например:

echo "<имя пользователя> ALL=(ALL) NOPASSWD:ALL" | sudo тройник /etc/sudoers.d/имя пользователя

Для получения дополнительной информации см. Как добавить пользователя в Sudoers в Ubuntu.

См. также этот вопрос, Как я могу добавить пользователя в качестве нового sudoer с помощью командной строки?

хрон

cron очень мощный, и есть много разных опций. Однако, чтобы выполнить вашу задачу, вот только основные предметы первой необходимости:

Чтобы отредактировать crontab, используйте

кронтаб -е

или для другого пользователя используйте

crontab -u ostechnix -e

Если вы никогда раньше не запускали crontab, вас могут попросить выбрать редактор при первом запуске.

Затем для работы в 15:00 добавьте строку

0 15 * * * <команда для выполнения>

Итак, в вашем случае используйте

0 15 * * * Резервное копирование sudo php artisan: запустить

Сохраните и выйдите в редактор.Затем, чтобы проверить crontab, используйте

кронтаб -л

Если вы хотите изменить время, поля выглядят следующим образом, на странице руководства cron.

       Поля времени и даты:

              допустимые значения поля
              ----- --------------
              минута 0-59
              час 0-23
              день месяца 1-31
              месяц 1-12 (или имена, см. ниже)
              день недели 0-7 (0 или 7 — воскресенье, или используйте имена)

       Поле может содержать звездочку (*), которая всегда означает
       "первый Последний".

Для получения дополнительной информации о кронтаб, видеть Руководство для начинающих по Cron Jobs, или введите человек крон.

См. также этот вопрос, Как настроить задание Cron?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.