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

Is it possible to have cron job running on Amazon lightsail instance?

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

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

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

这是 运行 一个 PHP 脚本的工作示例:

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

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

  4. 向文档追加两行并添加换行符:

    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 并在安慰)。要查看为 cron 提供了哪些环境变量,请将第 2 行替换为:* * * * * env > /tmp/env.output 并查看文件。 第 2 行 是 cron 计划。星号表示:每时每刻、每一天、每一月、每一年都这样做。搜索 Google :) 并将输出到名为 Out.put.

  5. 的文件
  6. 等1分钟,看到Out.put已经创建完成,里面包含了Hello World

    [=47的魔咒=]

如果您遇到 cron 作业无法运行的问题,请查看此故障排除指南:https://whosebug.com/tags/cron/info

希望这对您有所帮助。如果没有,post 在投票前发表评论!

如果您正在使用 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/

处查找时间设置