【问题标题】:force tty creation for crontab job强制为 crontab 作业创建 tty
【发布时间】:2014-03-06 16:45:51
【问题描述】:

我一直在编写一个连接多个远程服务器的小 bash 脚本,然后通过一些期望指令执行 java CLI 程序。

事情是这样的:

bash script
  expect
  ssh to server using public keys
    expect ...
    expect ...
    log_file my_file (everything displayed on the screen is now redirected to my_file)
    expect ...
    log_file (closing my_file)
    exit
exit

当我手动执行我的脚本时,一切运行正常。 当我通过 crontab 执行时,文件 my_file 为空。

我发现 cron 作业没有附加 tty 并且 PATH 与通常不同

我的问题是:有没有办法强制为我的 cronjob 创建/分配 tty?

我已尝试将 -t 和 -tt 选项与 ssh 一起使用,但没有结果。 在脚本的不同级别重定向标准输出不起作用。

另外,我无法安装屏幕(这可能会有所帮助)并且“脚本”也没有写任何东西。

非常感谢!

【问题讨论】:

    标签: java linux ssh expect tty


    【解决方案1】:

    您可以检查 cron 选项卡日志中的错误,并确保为要执行的命令提供完整路径。

    【讨论】:

    • 刚刚检查:cron 日志中没有错误。我还检查了我的脚本中是否有不完整的路径,以避免在具有有限路径的 crontab 中执行错误,但一切看起来都很好。我真的认为问题更多在于丢失的 tty。
    猜你喜欢
    • 1970-01-01
    • 2011-05-24
    • 2015-12-04
    • 2020-11-29
    • 1970-01-01
    • 2011-06-20
    相关资源
    最近更新 更多