配置脚本或服务随Linux系统启动

learnerlps 2013-01-17

用户需求:

简单点说,就是用户需要设置两个脚本随linux系统启动。以前做过服务开机启动,脚本的设置和服务还有点差别。

需要开机启动的脚本:

/seeburger/TomcatBis/bin/startup.sh
/seeburger/TomcatBis/bin/catalina.sh

测试方法:
ps -ef | grep seeburger  检查是否有/seeburger路径下的进程启动
http://172.16.1.83:8080/

关闭当前应用的方法:/seeburger/TomcatBis/bin/shutdown.sh

问题处理过程:

配置服务的话,无论是RedHat还是SUSE都直接用chkconfig service_name on即可。

配置脚本的话,麻烦点,需要做个软连接。
   
redhat linux环境下最简单,直接把脚本放到/etc/rc.d/rc.local下面即可;
Suse linux环境下面,需要执行如下步骤,相对繁琐一些:

要使用chkconfig必须遵照如下步骤:

1.把脚本文件建立软连接,放在/etc/init.d/下
ln -s  /u01/startup.sh  /etc/init.d/startup.sh

2.chowm a+x 脚本名
3.必须在脚本里的#!/bin/bash下加上chkconfig程序规定的格式
也就是脚本开头格式必须是如下格式:
#!/bin/bash
#chkconfig: 2345 91 19
#description: 脚本说明如tocmat server
否则报错:
service 脚本名 does not support chkconfig
4.chkconfig --add 脚本名
5.chkconfig --level 2345 脚本名 on|off

整个配置过程中,我一开始也直接把脚本放到init.d中进行操作,没有使用软连接,报错为:
运行startup.sh时,报错提示需要catalina.sh,把catalina.sh也按照同样的步骤拷贝到init.d中运行,提示需要 /etc/bin/setclasspath.sh,简直没完没了啊


软连接的设置

在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问。

链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。符号连接相当于Windows下的快捷方式。

一、硬链接

硬链接说白了是一个指针,指向文件索引节点,系统并不为它重新分配inode。可以用:ln命令来建立硬链接。
语法:
ln [options] existingfile newfile(sexistingfile 待建立链接文件的文件,newfile是新创建的链接文件)
ln [options] existingfile-list directory

-f 建立时,将同档案名删除.
-i 删除前进行询问.

ln -s abc cde 建立abc 的软连接
ln abc cde 建立abc的硬连接,

用法:
第一种:为”existingfile”创建硬链接,文件名为”newfile”。
第二种:在”directory”目录中,为”existingfile-list”中包含的所有文件创建一个同名的硬链接。
常用可选[options] –f 无论”newfile”存在与否,都创建链接。-n 如果”newfile”已存在,就不创建链接。

相关推荐