我正在使用 Ubuntu 11.04。
我正在开发一个 Linux 守护程序,它将监视我的服务器并将信息发送到中央服务器。它基本上每 5 分钟拍摄一次关键指标的快照,将输出重定向到一个文本文件,然后使用 CURL 放置或发布数据。
我正在使用从这里获得的信息将其编写为守护进程:http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/ .我本来打算只写一个 CRONed shell 脚本,但我要破产了,而且 PHP 对我来说更加熟悉。
但是,我想更进一步,开发一些我可以使用 apt-get 安装的东西。我想它会按如下方式工作:
- 我更新我的 sources.list 文件
- 我做了类似
apt-get install myservermonitor
- 它将我的守护进程安装在 usr/bin/myservermonitor 中
- 它在/etc/init.d/myservermonitor 安装一个 init.d 脚本
- 它启动守护进程
我对此没有任何经验,想知道如何去做。
问候,
最佳答案
只需获取 debhelper,它将创建一个示例 debian/目录,其中包含您需要的所有部分的模板。不过,您的守护进程可能应该进入/usr/sbin。 postinst 脚本通常用于在成功配置和安装后运行 init 脚本。
如果您需要配置某些东西(例如,轮询或报告间隔,或发送报告的位置),您还需要了解 debconf,并创建一个配置脚本。
要分发您的包,您需要设置自己的存储库,或找人为您托管一个。如果您的目标是 Ubuntu,我建议您在 Launchpad.net 上注册一个帐户,并使用他们内置的 PPA 工具。
intarwebs 充满了令人震惊的教程;希望这足以让您开始进行一些 Google 搜索。
请注意,.deb 软件包仅适用于与 Debian 兼容的发行版。如果您希望普遍针对 Linux,您还应该提供 RPM 包。
关于php - 为 Linux 守护进程制作安装包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7439949/