Crontab 无法在 AWS ec2 Ubuntu 实例上 运行
Crontab failing to run on AWS ec2 Ubuntu Instance
尝试在我的 AWS ec2 ubuntu 实例上为 运行 一个 php 脚本设置一个 crontab:
* * * * * /usr/bin/php /var/www/html/tides/get_tides.php?id=PASSWORD
无法执行。
当我在网络浏览器中 运行 时执行脚本:
http://URL_NAME/tides/get_tides.php?id=PASSWORD
当我在命令行运行'which php'时returns/usr/bin/php
Directory/file 权限(潮汐 & get_tides.php):755
如果我在命令行上 运行 sudo /usr/bin/php /var/www/html/tides/get_tides.php?id=PASSWORD
我得到: 无法打开输入文件:
/var/www/html/tides/get_tides.php?id=PASSWORD
有什么建议吗?
没有直接的方法 运行 php 使用 ?id=PASSWORD
脚本,您可以将 cronjob 调整为 运行 as
* * * * * /usr/bin/curl -o temp.txt http://URL_NAME/tides/get_tides.php?id=PASSWORD
或
* * * * * /usr/bin/wget -q -O temp.txt http://URL_NAME/tides/get_tides.php?id=PASSWORD
由于您没有显示 get_tides.php 中的内容,也许您可以将命令行参数传递给 PHP 脚本
php /var/www/html/tides/get_tides.php PASSWORD
并将 php 更新为:
<?php
// $argv[0] is '/var/www/html/tides/get_tides.php'
$id = $argv[1];
?>
问题是由于我的 cron 脚本中没有使用绝对路径造成的:
<?php
$path = $_SERVER["DOCUMENT_ROOT"];
$file = "$path/cron-test.txt";
我用/var/www/html
替换了$_SERVER["DOCUMENT_ROOT"]
crantab 命令是:* * * * * /usr/bin/php /var/www/html/cron-test.php
尝试在我的 AWS ec2 ubuntu 实例上为 运行 一个 php 脚本设置一个 crontab:
* * * * * /usr/bin/php /var/www/html/tides/get_tides.php?id=PASSWORD
无法执行。
当我在网络浏览器中 运行 时执行脚本:
http://URL_NAME/tides/get_tides.php?id=PASSWORD
当我在命令行运行'which php'时returns/usr/bin/php
Directory/file 权限(潮汐 & get_tides.php):755
如果我在命令行上 运行 sudo /usr/bin/php /var/www/html/tides/get_tides.php?id=PASSWORD
我得到: 无法打开输入文件:
/var/www/html/tides/get_tides.php?id=PASSWORD
有什么建议吗?
没有直接的方法 运行 php 使用 ?id=PASSWORD
脚本,您可以将 cronjob 调整为 运行 as
* * * * * /usr/bin/curl -o temp.txt http://URL_NAME/tides/get_tides.php?id=PASSWORD
或
* * * * * /usr/bin/wget -q -O temp.txt http://URL_NAME/tides/get_tides.php?id=PASSWORD
由于您没有显示 get_tides.php 中的内容,也许您可以将命令行参数传递给 PHP 脚本
php /var/www/html/tides/get_tides.php PASSWORD
并将 php 更新为:
<?php
// $argv[0] is '/var/www/html/tides/get_tides.php'
$id = $argv[1];
?>
问题是由于我的 cron 脚本中没有使用绝对路径造成的:
<?php
$path = $_SERVER["DOCUMENT_ROOT"];
$file = "$path/cron-test.txt";
我用/var/www/html
$_SERVER["DOCUMENT_ROOT"]
crantab 命令是:* * * * * /usr/bin/php /var/www/html/cron-test.php