我正在尝试将jAR文件作为crontab任务运行。由于某种原因,它根本不执行该文件。因此,日志文件中没有任何输出。我跑步时能看到的一切:
grep CRON /var/log/syslog
是附图。
cron选项卡配置如下:
*/60 * * * * /home/medisafelog/sudo java -jar UniqueUsersCounter.JAR > /home/medisafelog/cron.log
怎么办?
答案 0 :(得分:1)
这是您的crontab还是全系统的?如果它是系统范围的,那么它需要运行程序的用户的用户名。如果这是你自己的crontab ......那么“/ home / mediasafelog / sudo”在做什么?它看起来就像你正在尝试运行的程序一样,“java”作为第一个参数。
如果是这样,如果这是sudo的副本,那么各种各样的事情都可能出错。你通常不能在/ home下有setuid程序。如果需要以root身份运行,请将其作为系统范围的脚本放入。
如果这是一个红色的鲱鱼,并且你没有尝试在sudo下运行它,那么它可能是一条路径。当您在终端时设置的PATH可能与cron作业运行时生效的PATH不同。 (它使用相当普通的PATH来确保运行错误的程序没有安全问题。)你可以试试
which java
或
echo $PATH
进入crontab,看看发生了什么。
答案 1 :(得分:0)
暂时忽略参数,您发出的命令似乎是:
/home/medisafelog/sudo
这真的是你环境中的命令吗?