freebsd 下程序随系统开机启动的一种方法(GNU)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:
freebsd 下程序随系统开机启动的一种方法(GNU)
作者:田逸( [email]sery@163.com[/email] )
 
我在一个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 "$1"
这个脚本的意图是:如果存在文件/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都乖乖的起来了。
 
                                                                             



















本文转自sery51CTO博客,原文链接:http://blog.51cto.com/sery/88524 ,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
Unix
FreeBSD 11.4 系统磁盘管理
freeBSD系统没有fdisk等命令,是使用 gpart 命令管理磁盘信息
510 0
FreeBSD 11.4 系统磁盘管理
|
Unix 网络安全 数据安全/隐私保护
Freebsd系统ssh登陆配置
FreeBSD SSH配置详解 默认情况下freebsd下的ssh服务是未被开启的 需要 首先vi编辑/etc/inetd.conf,去掉ssh前的#,保存退出 (开启****ssh服务) 修改freebsd可以用sshd权限用户登录ssh 但不能用root用户登录的方法 在/etc/ssh/sshd_config最后中加入 PermitRootLogin yes #允许root登录 PermitEmptyPasswords no #不允许空密码登录 PasswordAuthentication yes # 设置是否使用口令验证。
1782 0
|
Linux C语言 C++
|
Unix Linux 数据安全/隐私保护