使用 cron 在启动时启动 memcached?

使用 cron 在启动时启动 memcached?

如何在启动时启动 memcached?

答案1

为什么要使用 cron???

如果它安装在 Debian 上(使用 rcconf)或

update-rc.d memcached defaults

如果它安装在 Redhat、Fedora、Centos、Suse 上

chkconfig memcached on

如果它安装在 Windows 上..

Dont Know, But suggest you install it on Linux :P

答案2

由于您将 cron 作为问题的一部分,我假设您希望在 UNIX 或类 UNIX 系统(Linux、*BSD、Solaris 等)上执行此操作。尽管您可以尝试使用 cygwin 执行此操作。

这不是启动服务的常规方法,但可以做到。从 cron 运行程序可以确保关键服务在发生故障时重新启动。您需要编写一个包装器脚本,检查 memcached 是否已在运行,如果没有,则启动它。然后将条目放入 cron 中。

包装器脚本部分内容如下:

...
if ps -C memcached 2>/dev/null | grep -q memcached 2>/dev/null ; then
    MEMCAHED_RUNNING=1
then

if [ ! $MEMCACHED_RUNNING ]  ; then
    memecached $options
fi
...

您应该考虑的一些增强功能是检查以确保 memcache 不仅在运行,而且还会向关键请求返回值。这有点超出了您的问题范围。

然后从 cron 调用完整脚本。/etc/crontab 中的 cron 条目如下所示

*/5 * * * * user /path/to/memcached_restart_script 

在用户 cron 中它看起来像

*/5 * * * * /path/to/memcached_restart_script 

大多数 UNIX 变体都支持使用启动脚本。在 Solaris 和 Linux 等 SysV 类系统中,这些文件名为 (servicename),存储在 /etc/init.d 中,并在 /etc/rc2.d、/etc/rc3.d 或 /etc/rc5.d 等目录中使用名为 S(nn)(servicename) 的链接或符号链接。在 BSD 变体中,脚本存储在 /usr/local/etc/rc.d 或类似目录中。

RHEL 变体(RHEL、CentOS、Fedora、Scientific Linux 等)可以使用名为 chkconfig(chkconfig memcached on)的工具为您管理脚本。Debian 和 ubuntu 有一个名为 update-rc.d(update-rc.d memcached defaults)的工具,其他则有不同的方法。

祝好 Rik

答案3

假设使用 Linux 风格的 cron(实际上,ISC cron 又名 vixiecron),

@reboot /path/to/memcached/start/script

启动时将会启动一次 memcached。 男人5 crontab有更多详细信息。

相关内容