【发布时间】:2023-04-10 04:42:01
【问题描述】:
我正在尝试制作一个脚本来安排在特定日期发送电子邮件的 cron 作业。我跟着this tutorial 制作了一个 php cron 管理器,它加载没有问题。但是当我尝试与脚本建立 SSH 连接只是为了查看它是否会引发任何错误时,页面停止加载我放置代码的位置,没有显示错误,也没有在任何地方创建 error_log 文件,我真的不明白为什么页面停止加载。
$crontab = new Ssh2_crontab_manager('xxxxxxxxxxx.xxx', '22', 'xxxxxxx', 'xxxxxxxxxxx');
我只希望它能够连接并继续页面,或者它至少会给我一个可以搜索解决方案的错误
什么都没有,只是一个部分加载的页面,没有错误,它就停在那里。
【问题讨论】:
-
它试图在哪里建立 SSH 连接?所有代码都在同一台服务器上运行,对吧?您自己没有对服务器的 SSH 访问权限吗?我不得不说这可能是我见过的最糟糕的维护 crontab 的方法
-
是的,我自己可以访问SSH服务器,所有代码都在同一个服务器上。问题是我需要自己的代码来制作和删除 cron 作业,而不必手动完成所有这些任务。我可以让脚本永远每小时运行一次,但我希望脚本能够在完成后自动调度和自动删除
-
“无需手动完成所有这些任务” 您花了多长时间编写本指南?您知道创建 cron 作业实际上是单 行代码,对吧?您的预定电子邮件是如何生成的?你用什么来发送它们?我有很多项目都在做类似的事情,它们都只是作为每日 cron 作业运行,这些作业检查数据库以查找当天向谁发送电子邮件,生成电子邮件并发送。 Cron 用于重复任务,如果你真的想安排你的命令在未来只运行一次,你应该使用
at -
我想安排一个作业来发送电子邮件,但不是一次全部发送,而是每小时分成一定数量,所以我试图设置一个创建每小时作业的 cron 作业然后删除自己,每小时作业发送一些电子邮件然后停止,并在没有更多电子邮件发送后删除自己。抱歉,如果这有点令人困惑
-
您要发送的电子邮件地址是否从数据库或其他地方检索到?