Java 文件没有 运行 使用 crontab

Java file does not run using crontab

命令 "java temp" 打印 Hello World。但是当我尝试使用 crontab 运行 这个命令时它不起作用。

我在 crontab 中使用这个命令

*/2 * * * * /usr/bin/java -cp /home/parth/javafile/temp

我也试过这个命令

*/2 * * * * root (cd /home/parth/javafile/temp.class ; java temp)

*/2 * * * * root /usr/bin/java -cp /home/parth/javafile/temp

但是这些命令也不起作用。

我还尝试创建脚本文件 .sh 并将 java 命令放入脚本中,然后使用 crontab 运行 该脚本。但是那个也不行。

我想我的命令有问题,但我不明白它到底是什么。

问题是,您的用户的 shell 不是 运行 命令。 运行 CRON 作业的用户是 运行 命令。在这种情况下,您永远不会看到打印到终端的输出。一种选择是将输出重定向到文件,例如:

*/2 * * * * /usr/bin/java -cp /home/parth/javafile/ temp >> /path/to/log/file 2>&1

末尾的位 2>&1 将标准错误重定向到与标准输出相同的位置。这样错误也会打印到日志文件中。

2 是标准错误的文件描述符

> 用于重定向输出

&是文件描述符

的符号

1 是标准输出的文件描述符