点击这里给我发消息 点击这里给我发消息
首页 > 行业资讯 > Mysql>详细内容

Freebsd下程序随系统开机启动的方法

添加时间:2010-6-22
    相关阅读: 软件 程序 linux 链接 系统

我在一个freebsd 7上用源码安装了apache,mysql等软件,安装目录分别是/usr/local/apache及/usr/local/mysql .现在想把apache、mysql随系统开机自动启动。

在网上查了一下,发现不少人用port安装,然后修改rc.conf文件,不知道是我固执还是他人固执,非得按freebsd的办法,哎!

    随着sco unix的日渐衰微,很多厂家不再支持sco,原来那帮执着的sco unix使用者麻烦来了。个人认为没有必要成为某个厂商的殉葬品。怎么办呢?幸好有GNU.

    总所周知,redhat有个文件/etc/rc.local,如果我们想定制安装的软件随系统开机启动的话,只需把启动程序的命令行追加到这个文件。回到freebsd下,没有rc.local这个文件。与linux不同,freebsd要自动启动的程序位于/etc/rc.d目录(linux是/etc/init.d,还要在运行级别做处理:脚本或链接文件)。先看看/etc/rc.d里面都有啥:
    # ll /etc/rc.d
    total 362
    -r-xr-xr-x  1 root  wheel    241 Feb 24 09:41 DAEMON
    -r-xr-xr-x  1 root  wheel    405 Feb 24 09:41 FILESYSTEMS
    -r-xr-xr-x  1 root  wheel    404 Feb 24 09:41 LOGIN
    -r-xr-xr-x  1 root  wheel    339 Feb 24 09:41 NETWORKING
    -r-xr-xr-x  1 root  wheel    243 Feb 24 09:41 SERVERS
    -r-xr-xr-x  1 root  wheel    981 Feb 24 09:41 abi
    ....................................................................
    -r-xr-xr-x  1 root  wheel   1803 Feb 24 09:41 ldconfig
    -r-xr-xr-x  1 root  wheel    535 Feb 24 09:41 local
    -r-xr-xr-x  1 root  wheel   1147 Feb 24 09:41 localpkg
    有点好奇,打开文件local看看(耶!是个shell脚本),其内容如下:
    # more /etc/rc.d/local
    #!/bin/sh
    #
    # $FreeBSD: src/etc/rc.d/local,v 1.6.14.1 2008/01/28 07:58:31 dougb Exp $
    #
    # PROVIDE: local
    # REQUIRE: DAEMON
    # BEFORE:  LOGIN
    # KEYWORD: shutdown
    . /etc/rc.subr
    name="local"
    start_cmd="local_start"
    stop_cmd="local_stop"
    local_start()
    {
            echo -n 'Starting local daemons:'
            if [ -f /etc/rc.local ]; then
                    . /etc/rc.local
            fi
            echo '.'
    }
    local_stop()
    {
            echo -n 'Shutting down local daemons:'
            if [ -f /etc/rc.shutdown.local ]; then
                    . /etc/rc.shutdown.local
            fi
            echo '.'
    }
    load_rc_config $name
    run_rc_command "{GetProperty(Content)}"
    这个脚本的意图是:如果存在文件/etc/rc.local,就执行吧,阿门!没有就算了,一切归于平静。既然这样,我们不妨自己创建文件/etc/rc.local并给予执行权限。/etc/rc.local文件的大致内容为:
    #!/bin/sh
    /usr/local/apache/bin/apachectl start
    /usr/local/mysql/bin/mysqld_safe --user=mysql&
    重启一下系统,嘿嘿,apache和mysql都乖乖的起来了

本文作者:
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册