在特定条件下,是否可以在整个系统范围内运行 sh 脚本?

在特定条件下,是否可以在整个系统范围内运行 sh 脚本?

我是一名学生,对 ubuntu 不是很了解。但我有一个任务,其中一部分是“配置 Linux 服务器以在每次服务器重启时运行 start-sample.sh”。我可能完全错了,但在前面的步骤中,我被要求安装 openSSH 服务器,所以我假设我需要以某种方式将 start-sample.sh 放入 openSSH 配置中,这样它就会在每次重启时启动。或者我需要使用 rc.local、Systemd 或 Cron Job?我一直在想,也许有一些条件可以放入 Systemd?例如“如果 openSSH 正在启动 - 然后 - 运行脚本”。这在 Windows 上似乎是一个非常琐碎的任务,但在 Linux 上我却不知所措。

答案1

您没有找到正确的方法。您必须从系统服务管理启动服务和守护进程,您必须从用户配置文件工具启动用户登陆应用程序,您必须根据您的每个需求从 init、initrd 或 systemctl 启动特定工具。

脚本的内容取决于你的实际目标,例如

  1. bash 脚本适用于一般用途的活动
  2. ansible 可能更适合于系统范围的设置,以便按照步骤顺序同时执行许多不同的任务,例如安装后脚本
  3. terraform 可能也不错,更适合安装具有特定设置的操作系统
  4. 等等等等。

所有这些都是为了解释,你不必考虑内容,直到你掌握了确切需要的知识并选择了更好的方法/工具。

而且 cron 对于在系统启动时启动来说根本不是一个好主意。即使它可以被使用技术上可行

initrd 有它自己的逻辑和角色 cron 也有它自己的逻辑和角色 systemd 等等......

不要将它们用于随机操作。根据其实际角色进行选择。

首先:

  1. 列出您的确切需求
  2. 检查每个的最佳启动过程
  3. 做了
  4. 部署它

以该顺序

相关内容