Я хотел бы настроить периодические задания на экземпляре Amazon Lightsail, но не могу найти информацию о нем — только для Amazon EC2.
Можно ли выдавать задания cron на экземпляре lightsail или мне нужно перейти на EC2?
Чтобы ответить на мой собственный вопрос, всего через 8 часов: На экземплярах Amazon Lightsail можно выдавать задания cron
Вот рабочий пример запуска скрипта PHP:
Создайте папку с именем «projects» в / home / bitnami / и создайте простой файл .php с именем Hello World:
<?php print("Hello World"); ?>
Используйте команду crontab -e
чтобы получить доступ к документу, откуда вы можете добавить строки, которые будут ваши запланированные задания cron.
Добавьте две строки в документ и добавьте новую строку:
PATH=/usr/bin:/bin:/opt/bitnami/php/bin:
* * * * * php -f /home/bitnami/projects/HelloWorld.php > /home/bitnami/projects/Out.put
Строка 1 добавляет php к пути cron (Cron видит путь, отличный от указанного в переменных окружения. Введите: env и нажмите enter в консоли). Чтобы увидеть, какие переменные env переданы в cron, замените строку 2 на: * * * * * env > /tmp/env.output
и посмотрите в файл. Линия 2 это расписание cron. Звездочки означают: Делайте это каждую минуту каждого часа, дня, месяца, года. Ищите Google для этого 🙂 И выведет в файл с именем Out.put
,
Подождите 1 минуту и увидите, что Out.put
был создан и содержит волшебные слова Привет, мир
Если у вас возникли проблемы с неработающими заданиями cron, ознакомьтесь с этим руководством по устранению неполадок: https://stackoverflow.com/tags/cron/info
Надеюсь это поможет. Если это не так, оставьте комментарий, прежде чем голосовать!
Если вы используете node.js, вы можете сделать это, добавив несколько строк в ваш crontab. Сначала откройте crontab
crontab -e
Добавьте эти три строки в конец файла. Я предполагаю, что вы используете навсегда.
PATH=/usr/bin:/bin:/opt/bitnami/nodejs/bin:
@reboot cd /home/bitnami/**THISISYOURFOLDER** && /opt/bitnami/nodejs/bin/forever **NAMEOFYOURAPP.JS**
0 1 * * * sudo reboot
Это запустит ваше приложение, которое находится в THISISYOURFOLDER когда система перезагрузится. Кроме того, я настраиваю его для перезагрузки в 1:00 каждый день с этим параметром.
Чтобы проверить это, вы можете использовать
* * * * * cd /home/bitnami/**THISISYOURFOLDER** && touch myfile.txt
в вашем crontab. Это должно создать myfile.txt в вашей целевой папке через минуту. Если это не так, вам нужно изменить настройки пути. Существует также разница между
sudo crontab -e
crontab -e
Найти настройки времени на https://crontab.guru/