是否可以在Amazon lightsail实例上运行cron作业?

时间:2017-10-21 13:09:25

标签: php cron amazon-lightsail

我想在Amazon Lightsail实例上设置定期作业,但我找不到相关信息 - 仅适用于Amazon EC2。

是否可以在lightail实例上发出cron作业,或者我是否需要更改为EC2?

2 个答案:

答案 0 :(得分:11)

仅在8小时后回答我自己的问题:可以在Amazon Lightsail实例上发出cron作业

以下是运行PHP脚本的工作示例:

  1. 通过logging in to your lightsail account并点击"使用SSH"连接到Lightsail实例或者使用SSH客户端,例如PuTTY。
  2. 创建一个名为' projects'的文件夹。在/ home / bitnami /中创建一个名为Hello World的简单.php文件:

    <?php print("Hello World"); ?>
    
  3. 使用命令crontab -e访问文档,您可以在其中添加将作为预定cron作业的行。

  4. 在文档中附加两行并添加NEWLINE:

    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的文件。

  5. 等待1分钟,看看Out.put已创建并包含 Hello World

  6. 的神奇字词

    如果您在使用cron作业时遇到问题,请查看此问题排查指南:https://stackoverflow.com/tags/cron/info

    希望这会有所帮助。如果没有,请在downvoting之前发表评论!

答案 1 :(得分:0)

如果使用的是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点重新启动。

要对此进行测试,可以使用

* * * * * cd /home/bitnami/**THISISYOURFOLDER** && touch myfile.txt
在您的crontab中。一分钟后,需要在目标文件夹中创建myfile.txt。如果不是,则需要更改路径设置。两者之间也有区别

sudo crontab -e
crontab -e

https://crontab.guru/

查找时间设置