cron作业linux-apachessl
我有一个安装了apache2和Drupal6的服务器。在我的服务器中,我安装了一个需要使用cron的模块。我也安装了SSL证书 在我的crony选项卡中,有以下配置:cron作业linux-apachessl,linux,apache,ssl,drupal,cron,Linux,Apache,Ssl,Drupal,Cron,我有一个安装了apache2和Drupal6的服务器。在我的服务器中,我安装了一个需要使用cron的模块。我也安装了SSL证书 在我的crony选项卡中,有以下配置: * * * * * wget -O --q -t 1 http://domain:8280/folder/cron.php * * * * * wget --no-check-certificate -O --q -t 1 https://domain/folder/cron.php 我的服务器正常工作,但如果我在“我的站点”中
* * * * * wget -O --q -t 1 http://domain:8280/folder/cron.php
* * * * * wget --no-check-certificate -O --q -t 1 https://domain/folder/cron.php
我的服务器正常工作,但如果我在“我的站点”中写入此配置,则启用/000默认值:
redirect permanent / https://domain/
我的带有cron的模块停止工作。这是我在syslog中的错误:
grandchild #20349 failed with status 5
我需要将我的流量从http重定向到https。首先,请确保000-default.conf中的重定向指令正确(有关详细信息,请参阅),并且不会干扰
.htaccess
文件中的配置(如果有)
然后通过以下方式修复crontab:
wget
的选项-O
需要一个文件路径,因此可以指定它,也可以重定向到/dev/null
。另外,在某些版本的wget
选项-q
被认为不明确,因此最好使用--quiet
来抑制输出
有时,您可能希望将相当长的命令放入shell脚本文件中,使其可执行(chmod+x your script.sh),并确保在Web服务器的用户(sudo-u www-data/path/to/your-script.sh)下运行时,它完全执行您希望它执行的操作,并检查它是否对drupal模块起到了作用。然后在crontab中使用脚本的路径。这将确保一切正常运行,并保持crontab整洁有效。首先,确保重定向配置正确(请参阅),并且不会干扰.htaccess中的配置。其次,为cron任务创建一个独立的脚本,并将它们放在$PATH(/usr/local/或其他东西)中的某个位置。另外,当在Web服务器的用户(sudo-u www-data/usr/local/your wget task.sh)下运行时,请确保脚本是可执行的(chmod+x…),并且工作正常。最后但并非最不重要的一点是,确保您了解wget命令的作用。我不确定-O选项在没有输出文件的情况下是否有效谢谢您的回答。我认为我的重定向配置是正确的。当我尝试访问htp://domain 我的服务器将我重定向到htps://domain 正确地我认为我的脚本cron.php也可以,如果我不在000-default中编写重定向配置,我的模块和cron作业就可以正常工作。如果你在000-default.conf中启用重定向,那么试着注释掉crontab中的第一行,并将第二个命令中的命令更改为:
wget--no-check-certificate-O/dev/null--quiet-t1https://domain/folder/cron.php
尝试安装schedule tasks,以便轻松运行多个cronjob,将您的cronjob添加到根用户(用于测试),对于crontab,环境是最小的,因此请使用完整路径或自己传递环境。验证所有相关文件的权限。您还可以将结果输出到终端窗口:运行“tty”输出“/dev/pts/NUMBER”,并在cronjob“***cmd>/dev/pts/NUMBER”上的命令后将输出重定向到该窗口或一个文件,并观察文件更改。