我正在尝试在我的服务器上运行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 ++程序?
提前致谢!
答案 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)