远程服务器中的 Cron 任务

远程服务器中的 Cron 任务

我尝试学习如何在远程服务器中创建 crontab。

我尝试每 5 分钟运行一次脚本。

我使用“IONOS”公司的服务器,它位于欧洲。

我有一台 Mac。我打开终端。

# I go to the server with the authentification. It works well: 
ssh userName@serverName

# I open the default editor. That is Vim:
crontab -e

# I edit the file:
i

# I give my email. If the Cron fails: 
[email protected] 

# Every 5 minutes go to a file where I have a simple script that sends me an e-mail:
*/5 * * * * http://www.example.com/cron-test/1.php  

# save and exit the file
:wq

Cron 不起作用。我在提供的电子邮件中收到了该错误:

/bin/sh: 1: https://www.example.com/cron-test/1php: not found

在该消息中,地址是一个链接,最后一个“:”包含在该链接中。我不知道这是否是问题所在?

当然,我已经检查过,如果我去,https://www.example.com/cron-test/1php它运行良好,并使用 php 向我发送一封电子邮件。

请注意,我是 Cron 和终端的新手。我只是在学习和制作教程。

答案1

维基百科指出:“软件实用程序 cron 是一个基于时间的作业调度程序[..]。设置和维护软件环境的用户使用 cron 来调度要运行的作业(命令或 shell 脚本)[..]。”

因此,您的服务器配置为每 5 秒运行一个名为的命令/脚本:

'http://www.example.com/cron-test/1.php'

换句话说:在您的 $PATH 中的某个地方应该找到具有上述名称的可执行命令,以便“/bin/sh”可以执行此命令并将 STOUT 发送到您的电子邮件地址。

您仅仅提供了一个 URL,但是服务器不知道您想用它做什么。

我认为你想实现的目标可以通过以下方式解决:

*/5 * * * * /usr/bin/lynx --dump http://www.example.com/cron-test/1.php 

这告诉服务器使用带有 --dump 选项的 lynx 命令来获取 www.example.com/cron-test/1.php 的内容并通过电子邮件发送给您。

(执行文本浏览器山猫并将呈现的网页 example.com/cron-test/1.php 的内容转储到发送至上述地址的电子邮件中)。

相关内容