用Cron运行c ++程序

时间:2012-05-21 09:46:30

标签: c++ cron

我正在尝试在我的服务器上运行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 ++程序?

提前致谢!

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

应该将C ++程序编译成可执行文件。一旦你到目前为止,它所写的语言就不再重要了!

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

如何在没有重定向的情况下运行它?

您是否拥有日志文件的写权限?

答案 2 :(得分:0)

对于Cron来说,只要您可以从shell执行该命令,运行哪种类型的程序C ++ / PHP / Python / ..等并不重要。如果你在shell上编写的命令有效,它也适用于cron。

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

的完整路径

与其他用户一样,如果该命令由其他用户执行,则可能存在访问权限的情况。我通常使用最安全的路径“/ tmp”测试我的转储文件(除非用户是chrooted)