8

我正在尝试运行一串nohup命令来获取服务器统计信息。但是我收到一个错误'No such file or directory'。请注意,这 3 个nohup调用嵌入在通过cron作业执行的脚本中。第一个nohup有效,但其他两个返回错误。具有讽刺意味的是,当在不同的服务器上运行时,脚本运行良好。

  • 命令

    nohup vmpstat -a -n 60 1000 > myvmstats
    
  • (作品)

    nohup mpstat -P ALL 1 1000 > mympstats
    
  • (返回:nohup 无法运行命令mpstat:没有这样的文件或目录)

    nohup iostat -t -x 60 1000 >myiostats
    
  • (返回:nohup 无法运行命令iostat:没有这样的文件或目录)

知道有什么问题吗?

4

2 回答 2

3

我认为您应该给出程序的相对/绝对路径

例如:

nohup ./****.sh > /home/user/test.txt

于 2013-09-11T05:38:22.140 回答
3

从命令行运行而不是在运行时运行的脚本的常见问题cron是“环境”。关于 SO 有很多问题可以举例说明,包括:

出于调试目的,将命令/行添加到 cron-run 脚本中:

env > /tmp/cron.job

检查那里的 PATH 是否包含您期望的内容,特别是它是否包含安装三个程序的目录(目录)。并检查您是否从命令行运行了您期望的程序:

which vmpstat mpstat iostat

合理的猜测是,当您的脚本由cron. 并cron为您提供一个极简的环境;在这方面完全不同at

也可以看看:

于 2012-04-23T14:50:51.877 回答