【问题标题】:Cron tab on linuxlinux上的crontab
【发布时间】:2011-09-27 07:17:27
【问题描述】:

我有一个每 5 分钟运行一次的 .exe 设置。它会创建一个文件。

我已将用户电子邮件存储在 mysql 数据库中。创建的文件以数据库的主键命名。例如:

1.txt,2.txt,50.txt etc

其中 1、2 和 50 是主键。

我想知道 cron 运行后是否有办法向用户发送电子邮件。我在我的服务器上使用 php。有什么办法可以做到这一点吗?

编辑: 我想我可以只设置一个 .php 文件以在 cron 上运行并使用 exec()。

【问题讨论】:

  • 而不是创建文件,只需从您用于创建文件的任何脚本通过电子邮件发送它们,或者。
  • 我不太确定如何从 c++ .exe 发送电子邮件。
  • 我想我可以改为在 cron 上运行 .php 文件并从该 .php 文件中调用 .exe。
  • 您是否真的在 Linux 上运行 .exe 文件,或者您的意思是说 executable 而不是 .exe?后者通常指的是 win32 二进制文件,而不是通用可执行文件。
  • 是的,我的意思是可执行文件。

标签: cron crontab


【解决方案1】:

在您的 crontab 中,您可以有 cron 条目,也可以有环境变量。有一个名为MAILTO 的变量指定将接收包含来自已处理作业的任何标准输出或标准错误的电子邮件的用户。 要发送电子邮件至 vivek@nixcraft.in,请输入:

MAILTO=vivek@nixcraft.in

如果 MAILTO 已定义但为空 (MAILTO=""),则不会发送任何邮件。

MAILTO=""

默认(如果未设置MAILTO)是向拥有正在执行的 crontab 的本地用户发送电子邮件。

我还没有尝试过,但您也许可以使用以下方式为您的一个 cronjobs 设置电子邮件:

0 0 * * * /root/daily_task.sh #will email crontab owner
MAILTO=joe@gmail.com
0 1 * * * /root/other_daily_task.sh # will email joe@gmail
MAILTO=root
0 * * * * /root/hourly_task.sh #(hopefully) mails root and not joe

# 之后的任何内容当然是注释。

取自http://www.cyberciti.biz/faq/linux-unix-crontab-change-mailto-settings/

【讨论】:

  • 我需要能够从 MYSQL 数据库中向用户发送邮件。这样可以吗。
  • 没有。这些地址被硬编码到 crontab 中。您也不想尝试动态修改选项卡。您应该将动态目的地地址规定添加到您的问题中。因此可以找到更合适的答案。但是,我认为您需要有一个类似0 0 * * * /path/to/cpp-bin param | /path/to/php-mailer 的条目。这将允许您的php-mailer 脚本从数据库中提取数据并根据cpp-bin 的输出(即php-mailer 的标准输入)发送电子邮件。
  • 关闭或删除此问题并创建一个全新的问题,其中包含有关您的目标和限制的具体细节,这甚至可能是一个好主意
猜你喜欢
  • 1970-01-01
  • 2016-03-01
  • 2014-10-06
  • 2011-11-03
  • 2017-08-31
  • 1970-01-01
  • 2011-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多