构建与 SysV 或 Upstart 兼容的 Bash 脚本的注意事项

构建与 SysV 或 Upstart 兼容的 Bash 脚本的注意事项

我刚刚编写了一个快速脚本,用于使用 rsync 使从属 Web 服务器与主服务器保持同步。(https://github.com/simonjgreen/liveFolderSync/blob/master/liveFolderSync.sh

我希望它在启动时运行,并通过常用的 /etc/init.d/... 或服务命令进行控制,然而这是我一直失败的领域。我发现 init.d 脚本和 upstart 脚本都非常令人困惑,并且在任何地方都找不到从头开始的指南。

我唯一想控制的是启动/停止/重启。显然,稍后我会将配置移至 /etc 中的一个单独文件中,但这已经是计划中的了,因此超出了本问题的讨论范围。

任何指示/建议和最佳实践都会有所帮助。我应该补充一下,我在 Ubuntu 上这样做。

答案1

您可以复制文件夹下的现有文件之一/etc/init.d/并对其进行自定义以启动脚本。这些文件通常执行以下操作:

1-检查一些配置文件和二进制文件是否存在。

2-包括一些初始化函数。

3-检查“动作”参数:启动、停止、重新启动并使用结构执行适当的动作case

4- 这些启动文件开头的注释很重要,因为它们描述了它们如何启动以及所需的运行级别。

为了使其在系统启动时运行,您可以使用update-rc.d实用程序。

相关内容