crontab java 进程信息

crontab java 进程信息

我尝试运行一个 bash 脚本,该脚本应将 java 进程信息输出到文件。不幸的是,当我将其添加到脚本时,它crontab -e没有执行。

作为用户,root该脚本位于 /root/bin

#!/bin/bash
PATH=/bin
DATE=`date +%Y-%m-%d" "%H:%M`
PROCESSINFO=`ps aux | grep java | grep -v grep`

echo "$DATE $PROCESSINFO" >> java.log

这是crontab -e配置

* * * * * /root/jobs/log-crush-ftp-process.sh
* * * * * printf "test\n"

printf "test\n"只是一个测试,但由于输出只会发送到邮件中,因此屏幕上没有结果。我遗漏了什么?

另外,我还有一个关于 Java 进程的问题。由于一切都在运行时环境中运行,是否有命令可以让我获取有关 JVM 内部进程的更多详细信息?

编辑:

我删除了最后一行printf...,现在我收到了脚本的邮件。但仍然没有输出java.log

答案1

对我来说,这是一个非常严重的问题。如果我这样做mail并查看第一封邮件,1那么我看到的是消息

/bin/sh: /root/jobs/log-crush-ftp-process.sh: No such file or directory

我一直以为错误是指第一列/bin/sh,但真正的问题是我将jobs文件夹重命名为bin。将 cronjob 更改为

*/1 * * * * /root/bin/log-crush-ftp-process.sh

(每分钟 */1)脚本现在执行。

相关内容