【发布时间】:2013-05-04 12:54:12
【问题描述】:
我有一个独特的问题,我在一个 unix 环境中,并且有一个 ksh 脚本,它可以 ssh 到多个站点,执行一些代码,然后返回一个响应,然后将该响应通过电子邮件发送到一个电子邮件地址。
当我运行该脚本时,它运行良好,但由于它必须运行几个小时,所以我希望 nohup 脚本。
这就是问题所在。当我 nohup 脚本时,不会发送电子邮件。我搜索了董事会寻找原因或解决方案无济于事。如果有人能指出我正确的方向,我将不胜感激。
这是脚本的邮件部分:
mail -s "subject" email@address.com < /usr/etc/bin/mydir/infofile.out &&
rm -f infofile.out
exit;
编辑:我的环境是 AIX 6.1.7.1
【问题讨论】:
-
可以在 cron 或 at 下运行脚本吗?否则,为您的操作系统添加标签,
mail --version会产生任何有用的信息吗?祝你好运。 -
它不能通过cron运行,因为它需要一个输入参数,at命令也无法发送电子邮件,并且mail --version是一个无效的命令。
-
01 00-23 * * /path/to/myMailScript.ksh < /path/to/params.txt之类的东西不起作用(例如,每小时运行 1 次 cmd)?哦.... AIX,好吧,所有关于 nohup 等行为的赌注都没有了!非 AIX 用户将很难复制这个问题(我认为)。你在脚本的某处有类似read $var的东西吗?而且我会使用 shell 调试/跟踪set -vx来确认你的脚本挂在哪里的确切细节。祝你好运。 -
我会尝试使用更简单的脚本。编写一个只休眠 10 秒(sleep 10)然后调用 mail 的脚本。看看你是否可以在 nohup 时让它工作。