0

我有一个在 AWS 上运行的 Web 服务器,它连接到一个 mysql 数据库。数据库有一个每天运行一次的事件。我需要在同一计划上运行一个 php 脚本来检查数据库,然后发送推送通知。我不相信我可以从数据库中执行此操作,因此需要在 Web 服务器上完成。我只是不知道如何在 AWS 上做这种事情。

我从未运行过 cron 作业,但这似乎是我想要的,但我不知道这是如何在 AWS 上完成的,它可以触发 php 脚本吗?

4

1 回答 1

0

您在这里遇到了几个问题,最重要的是建立您的 SSH 访问权限(正如您所说的,“控制台访问权限”)。没有它,您将无法设置您的 cron 作业。

至于 cron 作业,您将需要执行以下步骤:

1) 设置一个 crontab 文件,可能在您的主目录中。这是一个示例文件,可帮助您入门:

#This file is: /home/<your-user-name>/mycronfile.cron
#Use "crontab mycronfile.cron" to reinstall this file
#Use "crontab -l" to list the contents of the current crontab
#Use man 5 crontab for info
#Format is: minute hour dayofmonth month dayofweek
# * * * * * *
# | | | | | |
# | | | | | +-- Year              (range: 1900-3000)
# | | | | +---- Day of the Week   (range: 1-7, 1 standing for Monday)
# | | | +------ Month of the Year (range: 1-12)
# | | +-------- Day of the Month  (range: 1-31)
# | +---------- Hour              (range: 0-23)
# +------------ Minute            (range: 0-59)
# , and - can be used as in 0,15,30,45 or 1-5

# run my script every WEEKDAY at 3pm
0 15 * * 1-5 php -f /Library/Developer/myscript.php
# note that it's okay to leave out Year since I'm not using it

2) 按照上面 cron 示例中的指示,从您的主目录安装此文件:

crontab mycronfile.cron

3)通过键入以下内容确认已安装:

crontab -l

最后一点是,在您的 PHP 脚本中,您不能使用 $_SERVER 全局变量,因为 CLI 模式不支持这些全局变量。你所有的路径都必须是绝对的。

于 2013-11-05T06:44:08.340 回答