linux后台运行和开机启动篇【二】
2015-10-29 11:26
627 查看
接上篇文章。
经常的,在linux中我们需要开机启动某些程序,比如oracle数据库,keepalived,或者防火墙。。。。
特别复杂的方法这里不做介绍,我写这篇文章的目的是能用最简单,最实用的方法去实现我需要的效果。结尾我提供一个资料,非常详细的讲解linux的开机启动机制。
linux的开机启动机制是非常特别的,对比windows的话,windwos的简直soeasy。
简单说,linux有三部分“自启动”:
/etc/profile:当用户登录后会被执行的脚本,是一个公共脚本,也就是任何用户登录后都会执行。
.bash_profile:每个用户自己的脚本,通常防止在$home下,当用户登录时,就会执行此用户对应的bash文件。
/etc/rc.d/init.d:这部分是真正的开机自起,也就是linux开机之后执行的脚本。如果我们需要开机启动jboss,相应的操作就要放在这里。
关于/etc/rc.d/init.d,init是所有进程之父,init读取/etc/inittab,执行rc.sysinit脚本。所有启动脚本放置在 /etc/rc.d/init.d下,这是linux比较复杂的开机启动机制,呵呵。
简单说,我们可以在/etc/rc.d/rc.local中放置我们需要启动后执行的命令,当然也可以是一个脚本,也就是说我们可以在rc.local中引入另一个脚本,这样就能实现开机启动。
而且,最重要的一点,rc.local是以root的权限执行的,所以我们可以加入任何操作。
例如有这样一个脚本/1.sh,我们可以把这个脚本中追加到rc.local中,直接在rc.local最后加入如下:
/1.sh
这样当linux启动后,就会以root权限执行/1.sh这个脚本。
说一点实用性的,oracle数据库安装完成之后,并不是开机启动的,那么如何达到开机启动的效果呢?
oracle的启动分为两部分,listener和数据库本身。在oracle的bin目录中,有两个文件lsnrctl和dbstart。他们可以启动oracle的listener和数据库本身。
启动listener:lsnrctl
start
启动数据库:dbstart start
然后我们需要在oracle用户下执行这两个命令,因此需要使用到su命令:
启动listener:su
- oracle -c "lsnrctl start"
启动数据库:su - oracle -c "dbstart start"
将正两句代码加入到rc.local中即可实现oracle的开机自启动。
再说说linux服务的开机自启动。
在linux比较高阶就是以服务形式存在的开机自起,例如iptables(防火墙)。
启动防火墙服务:service iptables start
或停止防火墙服务:service iptables stop
这些服务可以轻而易举的设置为开机自启动,这里需要用到chkconfig命令。在root用户下:
chkconfig iptables on #开机自己防火墙服务
chkconfig iptaobes off #开机不启动防火墙服务
keepalived服务本身的启动或停止及开机自启动的方法类似。
结尾附上linux开机自起详解及如何添加服务自定义服务的资料:
http://blog.csdn.net/wwwxxlby520/article/details/4374079
经常的,在linux中我们需要开机启动某些程序,比如oracle数据库,keepalived,或者防火墙。。。。
特别复杂的方法这里不做介绍,我写这篇文章的目的是能用最简单,最实用的方法去实现我需要的效果。结尾我提供一个资料,非常详细的讲解linux的开机启动机制。
linux的开机启动机制是非常特别的,对比windows的话,windwos的简直soeasy。
简单说,linux有三部分“自启动”:
/etc/profile:当用户登录后会被执行的脚本,是一个公共脚本,也就是任何用户登录后都会执行。
.bash_profile:每个用户自己的脚本,通常防止在$home下,当用户登录时,就会执行此用户对应的bash文件。
/etc/rc.d/init.d:这部分是真正的开机自起,也就是linux开机之后执行的脚本。如果我们需要开机启动jboss,相应的操作就要放在这里。
关于/etc/rc.d/init.d,init是所有进程之父,init读取/etc/inittab,执行rc.sysinit脚本。所有启动脚本放置在 /etc/rc.d/init.d下,这是linux比较复杂的开机启动机制,呵呵。
简单说,我们可以在/etc/rc.d/rc.local中放置我们需要启动后执行的命令,当然也可以是一个脚本,也就是说我们可以在rc.local中引入另一个脚本,这样就能实现开机启动。
而且,最重要的一点,rc.local是以root的权限执行的,所以我们可以加入任何操作。
例如有这样一个脚本/1.sh,我们可以把这个脚本中追加到rc.local中,直接在rc.local最后加入如下:
/1.sh
这样当linux启动后,就会以root权限执行/1.sh这个脚本。
说一点实用性的,oracle数据库安装完成之后,并不是开机启动的,那么如何达到开机启动的效果呢?
oracle的启动分为两部分,listener和数据库本身。在oracle的bin目录中,有两个文件lsnrctl和dbstart。他们可以启动oracle的listener和数据库本身。
启动listener:lsnrctl
start
启动数据库:dbstart start
然后我们需要在oracle用户下执行这两个命令,因此需要使用到su命令:
启动listener:su
- oracle -c "lsnrctl start"
启动数据库:su - oracle -c "dbstart start"
将正两句代码加入到rc.local中即可实现oracle的开机自启动。
再说说linux服务的开机自启动。
在linux比较高阶就是以服务形式存在的开机自起,例如iptables(防火墙)。
启动防火墙服务:service iptables start
或停止防火墙服务:service iptables stop
这些服务可以轻而易举的设置为开机自启动,这里需要用到chkconfig命令。在root用户下:
chkconfig iptables on #开机自己防火墙服务
chkconfig iptaobes off #开机不启动防火墙服务
keepalived服务本身的启动或停止及开机自启动的方法类似。
结尾附上linux开机自起详解及如何添加服务自定义服务的资料:
http://blog.csdn.net/wwwxxlby520/article/details/4374079
相关文章推荐
- linux后台运行和开机启动篇【一】
- linux工具篇
- Linux下multipath若磁盘大小是0,不会出现在/dev/mapper下
- linux权限篇【二】
- linux下hadoop2.6.1源码64位的编译
- linux权限篇【一】
- linux目录介绍和文件操作
- linux介绍【开篇】
- linux安装jdk
- Linux 常用命令
- Linux系统下主机性能分析工具nmon的简单用法
- linux下的git使用集锦
- [转]Linux进程通信之POSIX消息队列
- Linux中vi编辑器的使用详解
- 硬盘类型和Linux分区
- Linux系统下Shell重复执行上条命令的4种方法
- Linux进程操作命令
- Linux操作系统中,*.zip、*.tar、*.tar.gz、*.tar.bz2、*.tar.xz、*.jar、*.7z等格式的压缩与解压
- linux I2C读写应用程序
- Linux命令行之逗趣无极限