1

我正在尝试在我的服务器上运行一个 c++ 程序,该程序目前正在更新 MySQL 数据库。我正在使用 Cron 运行它。该程序正在我自己的计算机(Ubuntu 10.10)上编译和运行,但我似乎可以在我的服务器上运行一些东西。

我检查了 cron 是否使用 PHP 脚本为我工作,但我不知道如何运行 c++ 程序。在 directAdmin 我使用命令:

/home/rogier/domains/ditiseenwinkel.nl/public_html/test/program &>/home/rogier/domains/ditiseenwinkel.nl/public_html/test/testsql2.log  

program我的编译程序在哪里。奇怪的事情:日志文件是空的。

我究竟做错了什么?我应该如何通过 Cron 运行 c++ 程序?

提前致谢!

4

3 回答 3

0

程序是在同一台服务器上编译的吗?如果不是 - 您应该在同一台服务器上编译源代码。

于 2012-05-21T09:53:41.570 回答
0

C++ 程序应该被编译成可执行文件。一旦你走到那一步,它所用的语言就不再重要了!

给定的命令行是否在服务器上运行并产生输出(即通过命令行,而不是 cron)?如果是这样,该应用程序可能取决于 cron 没有的某些环境。

如果没有重定向运行它呢?

您对日志文件有写权限吗?

于 2012-05-21T09:57:37.010 回答
0

对于 Cron,只要您可以从 shell 执行该命令,您正在运行哪种类型的程序 C++/PHP/Python/..etc 都没有关系。如果您在 shell 上编写的命令有效,它也应该适用于 cron。

但是请注意,cron 的环境变量可能完全不同。这是 cron 问题的第一大原因。即使您为自己的用户安装了 cron 脚本,您也可能会惊讶于 cron 环境没有任何 PATH。因此,您必须指定简单系统命令的完整路径,即 /bin 或 /usr/bin

Like other users said, there might be a case of access rights if the command is executed by other user than yours. I usually test my dump files with the safest path "/tmp" (except if the user is chrooted)

于 2012-05-21T10:26:43.400 回答