linux - oracle启动成功后如何执行shell脚本

标签 linux bash shell

我想在 Linux 系统启动和 oracle 成功启动时使用非 root 用户执行 shell 脚本。

我试图在 rc.local 中执行这个 shell。但是我发现oracle的启动程序太花时间了。所以当 shell 尝试连接到 Oracle 时,它​​返回失败。

在用户的 Linux 服务器上,运行 Oracle 需要几分钟时间。我不清楚他们使用什么技术。我发现当 Oracle 没有启动完成时,我可以通过 ssh 登录 Linux 服务器。

在我看来,Linux 启动顺序应该如下所示。

/etc/rc.d/rc.sysinit 
/etc/rc.d/rc $RUNLEVEL 
/etc/rc.d/rc.local 
/bin/login

但是如果我添加一行来检查 Oracle 是否在 rc.local 中运行,用户将在几分钟内无法登录 Linux 服务器。我认为这是不合适的。

有没有更好的方案来解决这个问题?

欢迎提出任何建议。

最佳答案

使用其中一种解决方案并将其配置为“等待”oracle 监听端口。

https://github.com/vishnubob/wait-for-it

或者

https://github.com/Eficode/wait-for

关于linux - oracle启动成功后如何执行shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45190803/

相关文章:

c - 执行 C 程序直到在终端中按下 Ctrl+C

linux - 如何使用 libssh 读取输出行

linux - awk从列中找到最大值和最小值并存储在其他列中

linux - 在 Bash 脚本中使用大括号内的 int 变量

C系统无法运行hello world

Linux 的内核 list.h 和 MSVC

linux - 在哪里可以获得更多 qtcreator 小部件?

Linux bash 脚本 : how to search on a column but return full row?

linux - 如何直接访问 ash 中函数的最后一个参数?

linux - 如何转义密码中的双引号和感叹号?