我一直在编写一个小的bash脚本,它连接到几个远程服务器上,然后通过一些expect指令执行一个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,并且该路径与通常不同
我的问题是:有没有办法强制创建/分配tty到我的cronjob?
我尝试在ssh中使用-t和-tt选项,但没有结果。在脚本的不同级别上重定向标准输出不起作用。
另外,我不能安装screen (这可能会有所帮助),"script“也没有写任何东西。
非常感谢!
发布于 2014-03-07 01:08:26
您可以检查cron选项卡日志中的错误,并确保给定了要执行的命令的完整路径。
https://stackoverflow.com/questions/22230727
复制相似问题