Linux中的调度问题



i使用linux中的 at调度程序计划脚本。

工作正常,但是我将我重定向到文件的回声声明找不到。

AT调度命令如下:

at -f /app/data/scripts/func_test.sh >> /app/data/log/log.txt 2>&1 -v 09:50

任何人都可以指出上述命令的问题。

我看不到log.txt文件中的脚本中的任何回声语句

要包含shell语法,例如i/o重定向,您需要将其折叠到脚本中,或通过标准输入将输入传递给at,例如:

at -v 09:50 <<EOF
sh /app/data/scripts/func_test.sh >> /app/data/log/log.txt 2>&1
EOF

如果func_test.sh已经可以执行,则可以从命令的开头省略sh;它在那里确保您将有效的命令行传递给at

您还可以简单地确保您的脚本本身将其所有输出重定向到特定的日志文件。例如,

#!/bin/bash
echo foo
echo bar

变成

#!/bin/bash
{ 
echo foo
echo bar
} >> /app/data/log/log.txt 2>&1

然后,您可以简单地使用

使用at运行脚本
at -f /app/data/scripts/func_test.sh -v 09:50

没有输出重定向,因为脚本本身已经将其所有输出重定向到该文件。

相关内容

  • 没有找到相关文章

最新更新