我想在Amazon Lightsail实例上设置定期作业,但我找不到相关信息 - 仅适用于Amazon EC2。
是否可以在lightail实例上发出cron作业,或者我是否需要更改为EC2?
答案 0 :(得分:11)
仅在8小时后回答我自己的问题:可以在Amazon Lightsail实例上发出cron作业
以下是运行PHP脚本的工作示例:
创建一个名为' projects'的文件夹。在/ home / bitnami /中创建一个名为Hello World的简单.php文件:
<?php print("Hello World"); ?>
使用命令crontab -e
访问文档,您可以在其中添加将作为预定cron作业的行。
在文档中附加两行并添加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
的文件。
等待1分钟,看看Out.put
已创建并包含 Hello World
如果您在使用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
查找时间设置