java - 强制为 crontab 作业创建 tty

标签 java linux ssh expect tty

我一直在编写一个小型 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?

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

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

非常感谢!

最佳答案

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

关于java - 强制为 crontab 作业创建 tty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22230727/

相关文章:

java - Restful Spring 服务中的 session 范围

c - 相同文件内容的不同 md5sum?

python脚本留下僵尸进程

linux - 从 linux 到 Solaris 的无密码 ssh 适用于 oracle 用户但不适用于 ftpuser

Java 6 线程 - "implements Runnable"和 "extends Thread"的不同行为

java - 如何使用 JPA 从 MySQL 检索 DateTime,无需毫秒

java - 使用两个 Date 对象比较时间偏移

c++ - C++ 中的正则表达式如何搜索有效的 Linux 设备节点?

php - 通过 PHP 通过 SSH 连接到 mysql 数据库

php - shell_exec ('which git' ) 在 Godaddy 共享托管服务器上返回空字符串