定时作业 linux apache ssl
cron-job linux apache ssl
我有一台安装了apache2和drupal 6的服务器。在我的服务器中,我安装了一个需要使用cron的模块。我也安装了 SSL 证书。
在我的 crontab 中有这样的配置:
* * * * * wget -O --q -t 1 http://domain:8280/folder/cron.php
* * * * * wget --no-check-certificate -O --q -t 1 https://domain/folder/cron.php
我的服务器可以工作,但如果我在我的 sites-enabled/000-default 中编写此配置:
redirect permanent / https://domain/
我的带有 cron 的模块停止工作。这是我在系统日志中的错误:
grandchild #20349 failed with status 5
我需要将我的流量从 http 重定向到 https。
首先,确保您在 000-default.conf 中的重定向指令是正确的(详见 Apache wiki)并且不会干扰 .htaccess
文件中的配置,如果有的话任何。
然后用这种方式修复你的 crontab:
- 删除第一行,因为您不再需要普通的 http
为此更改第二行:
wget --no-check-certificate -O /dev/null --quiet -t 1 https://domain/folder/cron.php
wget
的选项 -O
需要一个文件路径,因此要么指定它,要么重定向到 /dev/null
。此外,在某些版本的 wget
中,选项 -q
被认为是不明确的,因此最好使用 --quiet
来抑制输出。
有时您可能希望将相当长的命令放入 shell 脚本文件中,使其可执行 (chmod +x your-script.sh) 并确保它完全符合您的要求在网络服务器用户下 运行 时执行(sudo -u www-data /path/to/your-script.sh 并检查它是否对您的 drupal 模块起作用)。然后在 crontab 中使用脚本的路径。这将确保一切正常运行,并使您的 crontab 保持整洁和有效。
我有一台安装了apache2和drupal 6的服务器。在我的服务器中,我安装了一个需要使用cron的模块。我也安装了 SSL 证书。
在我的 crontab 中有这样的配置:
* * * * * wget -O --q -t 1 http://domain:8280/folder/cron.php
* * * * * wget --no-check-certificate -O --q -t 1 https://domain/folder/cron.php
我的服务器可以工作,但如果我在我的 sites-enabled/000-default 中编写此配置:
redirect permanent / https://domain/
我的带有 cron 的模块停止工作。这是我在系统日志中的错误:
grandchild #20349 failed with status 5
我需要将我的流量从 http 重定向到 https。
首先,确保您在 000-default.conf 中的重定向指令是正确的(详见 Apache wiki)并且不会干扰 .htaccess
文件中的配置,如果有的话任何。
然后用这种方式修复你的 crontab:
- 删除第一行,因为您不再需要普通的 http
为此更改第二行:
wget --no-check-certificate -O /dev/null --quiet -t 1 https://domain/folder/cron.php
wget
的选项 -O
需要一个文件路径,因此要么指定它,要么重定向到 /dev/null
。此外,在某些版本的 wget
中,选项 -q
被认为是不明确的,因此最好使用 --quiet
来抑制输出。
有时您可能希望将相当长的命令放入 shell 脚本文件中,使其可执行 (chmod +x your-script.sh) 并确保它完全符合您的要求在网络服务器用户下 运行 时执行(sudo -u www-data /path/to/your-script.sh 并检查它是否对您的 drupal 模块起作用)。然后在 crontab 中使用脚本的路径。这将确保一切正常运行,并使您的 crontab 保持整洁和有效。