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
是标准输出的文件描述符
命令 "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
是标准输出的文件描述符