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