Php 用电子邮件发送带有附件的Cron作业

Php 用电子邮件发送带有附件的Cron作业,php,mysql,email,ubuntu,cron,Php,Mysql,Email,Ubuntu,Cron,我当前的设置如下所示: 堆栈: php mysql ubuntu服务器 用户在我们的网站上输入约会 “电子邮件”记录被插入数据库 .pdf文件是动态生成的,并作为“电子邮件附件”记录插入,其中包含服务器上文件的路径 同一服务器上的Cron作业会拾取这些记录并通过phpMailer发送出去 在我当前的设置中,一切正常,但我不能让这个cron作业在生产服务器上运行,因为它会使它陷入困境。因此,我需要动态生成文件并保存它们,以便另一台服务器能够提取电子邮件记录并附加所需的所有文件。您可以在cron作业

我当前的设置如下所示:

堆栈:

php mysql ubuntu服务器

  • 用户在我们的网站上输入约会
  • “电子邮件”记录被插入数据库
  • .pdf文件是动态生成的,并作为“电子邮件附件”记录插入,其中包含服务器上文件的路径
  • 同一服务器上的Cron作业会拾取这些记录并通过phpMailer发送出去

  • 在我当前的设置中,一切正常,但我不能让这个cron作业在生产服务器上运行,因为它会使它陷入困境。因此,我需要动态生成文件并保存它们,以便另一台服务器能够提取电子邮件记录并附加所需的所有文件。

    您可以在cron作业中使用rsync使两台服务器中的文件保持同步,并且仅当其中存在此pdf文件时,才在另一台服务器上发送电子邮件


    几个小时后,您可以删除生产服务器中的pdf(如果您愿意),文件也将从其他服务器中删除或不删除,具体取决于您执行rsync的方式(--delete选项)。

    我考虑过rsync,我希望有一个更优雅的解决方案。还有,在cron作业运行之前,我如何知道rsync将同步文件?好的,在发送挂起的电子邮件之前,您必须检查pdf是否存在,这样您就知道rsync以前已经完成了它的工作。例如,如果电子邮件本应发送到现在已经5分钟了,并且rsync每2分钟执行一次,那么也可能会发送警报,因为一定有什么东西失败了(一种whatchdog)。我还想知道是否有更优雅的解决方案,这就是为什么我将您的问题标记为最喜欢的问题。但是,至少,我也想用一种方法来解决这个问题。也许在某些日子里,如果有人回答,我们可以学习其他方法来实现这一点。我更喜欢学习一些有用的东西,而不是在这里赢得一些分数。