Php 有可能在Amazon lightsail实例上运行cron作业吗?

Php 有可能在Amazon lightsail实例上运行cron作业吗?,php,cron,amazon-lightsail,Php,Cron,Amazon Lightsail,我想在AmazonLightsail实例上设置定期作业,但我找不到关于它的任何信息—仅针对AmazonEC2 可以在lightsail实例上发布cron作业吗,或者我需要更改为EC2吗?回答我自己的问题,就在8小时后:可以在Amazon lightsail实例上发布cron作业。 下面是一个运行PHP脚本的工作示例: 通过并单击“使用SSH连接”或使用SSH客户端(如PuTTY)连接到Lightsail实例 在/home/bitnami/中创建一个名为“projects”的文件夹,并创建一个名为

我想在AmazonLightsail实例上设置定期作业,但我找不到关于它的任何信息—仅针对AmazonEC2


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

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

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

  • 通过并单击“使用SSH连接”或使用SSH客户端(如PuTTY)连接到Lightsail实例
  • 在/home/bitnami/中创建一个名为“projects”的文件夹,并创建一个名为Hello World的简单.php文件:

    <?php print("Hello World"); ?>
    
    第1行将php添加到cron路径(cron看到的路径与环境变量中给出的路径不同。在控制台中键入:env并按enter键)。要查看给cron的环境变量,请将第2行替换为:
    ***env>/tmp/env.output
    ,然后查看文件第2行是cron计划。星号的意思是:每一分钟,每一小时,每一天,每一个月,每一年。在谷歌上搜索:)并将输出到名为
    Out.put
    的文件中

  • 等待1分钟,查看是否已创建
    Out.put
    并包含Hello World

  • 如果您遇到cron作业不工作的问题,请查看此故障排除指南:


    希望这有帮助。如果没有,请在投票前发表评论

    如果您使用的是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
    

    中查找时间设置如果在PHP文件中使用include或require,请确保使用的是绝对路径。这篇文章解释了CRON和相关路径:我无法得到这个答案,问题不在于CRON设置,而在于我的PHP文件。在不运行bitname而运行普通PHP的服务器上,这会是什么样子?另外,如果cronjob应该在另一台服务器上打开一个站点呢?这可以做到吗?如果您使用的是node,那么为cron使用node包不是更容易吗?
    sudo crontab -e
    crontab -e