首页 > 解决方案 > 将我的 .php 输出发送到 curl 命令,该命令使用机器人在电报上向我发送消息

问题描述

我每隔几分钟执行一次以下 cron:

*/8 * * * * /usr/local/bin/php -f /home/xxx/yyyy.php >> /home/xxx/zzzz.log

目前它的输出被存储在.log文件中。但我希望能够通过电报机器人将输出作为消息发送给我。

我已经制作了一个机器人并拥有 api 密钥,但我不确定如何连接它们。

在电报 api 文档上,它说我可以使用 curl 让机器人通过在 bash 文件中执行以下操作向我发送消息:

#!/bin/bash

CHATID="1234"
KEY="abcd"
TIME="10"
URL="https://api.telegram.org/bot$KEY/sendMessage"
TEXT="Hello world"

curl -s --max-time $TIME -d "chat_id=$CHATID&disable_web_page_preview=1&text=$TEXT" $URL >/dev/null

在 >> 之后添加 curl 显然不起作用。这将如何完成?

标签: phpbashcurlbotstelegram

解决方案


您可以使用管道 ( |) 将 cron 输出重定向到脚本或命令,这是一个示例:

*/8 * * * * /usr/local/bin/php -f /home/xxx/yyyy.php | tee /home/xxx/zzzz.log | /home/xxx/telegram.sh

这会将命令的输出写入 /home/xxx/zzzz.log 并将其发送到脚本的标准输入。


推荐阅读