java - 无法从其他用户的 crontab 作业执行 java 程序

标签 java linux shell

我无法在不同的用户下运行 crontab 作业。(例如 sudo -u someuser crontab -e) 它在我的用户配置文件下运行得非常好。 我知道问题出在哪里,但找不到解决方法。 问题是,当我为其他用户配置此 crontab 作业时,crontab 无法找到 java,因此即使是简单的 java -version 也无法正常工作。

下面是我的脚本。

#!/bin/bash

export JAVA_HOME=/usr/jdk/jdk1.6.0_31
export PATH=/usr/local/bin:/bin:/usr/bin:/opt/dell/srvadmin/bin:/home/VishalS/bin

echo "JAVA_HOME is: " $JAVA_HOME >>  log.out
echo "PATH is: " $PATH >>  log.out

which java >> log.out

/usr/bin/java -version >> log.out
/usr/jdk/jdk1.6.0_31/bin/java -version >> log.out

以上脚本的输出:

JAVA_HOME is:  /usr/jdk/jdk1.6.0_31
PATH is:  /usr/local/bin:/bin:/usr/bin:/opt/dell/srvadmin/bin:/home/VishalS/bin
/usr/bin/java

很明显,下面几行没有用。

/usr/bin/java -version >> log.out
/usr/jdk/jdk1.6.0_31/bin/java -version >> log.out

有人可以帮我吗?我不明白为什么即使设置了 jdk 路径 crontab 也不执行 java -version ?

最佳答案

尝试直接在其他用户的 crontab 中设置路径。请参见“man 5 crontab”。

关于java - 无法从其他用户的 crontab 作业执行 java 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19261844/

相关文章:

mysql - CAT 作为 Bash 脚本的参数

android - 使用 gatttool 在 Linux Shell 中通过蓝牙执行 WowWee MiP 命令

java - java中的HTTPS Get/Post/Put/delete方法

java - 如何从 while 循环返回字符串输入?

c - 如果在 linux 中花费的时间超过阈值时间,如何终止子线程

linux - snmpbulk 获取数据的时间太长

perl - 相同行之间的文本提取

java - 在android中以编程方式添加到布局中时如何从许多EditText中获取数据

java - 这里有人知道获取进程列表的好跨平台方法吗?

linux - Bash 脚本 Unix。模式匹配