LINUX服务管理,系统启动时如何判断及开启服务,系统运行中,如何查询、关闭、开启服务

LINUX服务管理,系统启动时如何判断及开启服务,系统运行中,如何查询、关闭、开启服务,第1张

逐个解答。但根据问题间的关系,回答顺序和你提问的顺序有所不同。

=============================================

“请写出尽量多的方法,并说明方法的原理。”

---------------------------------------------

我用Everest Linux 0.6是Redhat系列的远方旁枝。源自Redhat的发行版有类似的服务管理方式。太多的方法没有用,一种基本方法再加两三种附加变体方法足矣。

=============================================

“如何关闭服务及如何手动开启服务”

---------------------------------------------

简而言之:

service [服务名] start

service [服务名] stop

细节见下。

以我的现状为例,所有的主要独立服务都在“/etc/rc.d/init.d”中有对应的控制脚本,能控制服务的启停、重启,甚至不重启而重新加载配置。当然,也可以自己制作自己的控制脚本。我自己制作了Apache、Tomcat、PostgreSQL和花生壳的控制脚本。

[root@TFW-EVL06-LT /]# ls -l /etc/rc.d/init.d/

总计 316

……

-rwxr-xr-x 1 root root 1773 2009-04-20 smb

……

-rwxr-xr-x 1 root root 3340 2008-12-06 sshd

……

lrwxrwxrwx 1 root root66 2009-08-20 tfw_httpd ->/ext/prog/c/Apache/Httpd.EverestLinux-0.6-tb20090422/tfw/rc_script

lrwxrwxrwx 1 root root61 2009-08-20 tfw_pgsql ->/ext/prog/m/PostgreSQL.Everest-Linux-0.6-tb0422/tfw_rc_script

lrwxrwxrwx 1 root root32 2009-08-20 tfw_phlinux ->/usr/local/phlinux/tfw_rc_script

lrwxrwxrwx 1 root root39 2009-08-20 tfw_tomcat ->/ext/prog/c/Apache/Tomcat/tfw/rc_script

……

-rwxr-xr-x 1 root root 2497 2008-12-06 xinetd

……

[root@TFW-EVL06-LT /]#

以此为例,可以用“service smbd start”来启动Windows网络邻居服务;用“service sshd stop”来关闭安全隧道登录服务;用“service tfw_pgsql reload”不重启地重新加载PostgreSQL配置;用“service tfw_phlinux restart”重新启动花生壳。

=============================================

“读哪个文件判断是否启动服务”

---------------------------------------------

没有简述,想了解请看完。

在“/etc/rc.d/rc[N].d”目录里存放着上述脚本的链接。“[N]”为0~6间的数字,对应系统运行级别。以运行级别3为例:

[root@TFW-EVL06-LT /]# ls -l /etc/rc.d/rc3.d/

总计 0

……

lrwxrwxrwx 1 root root 20 03-03 13:00 K04tfw_tomcat ->../init.d/tfw_tomcat

……

lrwxrwxrwx 1 root root 14 2009-08-20 S55sshd ->../init.d/sshd

……

[root@TFW-EVL06-LT /]#

这些链接有的以“K”开头,有的以“S”开头。

系统在切换都一个运行级别时,会首先检查以“K”开头的链接,按其后面两位数字所标明的顺序依次检查这些链接所对应的服务;如果开着就以“stop”参数调用服务控制脚本关闭此服务。

例子中“/etc/rc.d/rc3.d/K04tfw_tomcat”的含义即为“当系统切换到运行级别3时,检查一下Tomcat是否在运行;如果在运行,就用‘service tfw_tomcat stop’关掉Tomcat”。

在关完服务后,系统再根据数字依次检查以“S”开头的链接,如果对应的服务没有开启,就以“start”参数调用服务控制脚本开启此服务。

例子中“/etc/rc.d/rc3.d/S55sshd”的含义即为“当系统切换到运行级别3时,检查一下安全登录遂道是否在运行;如果没在运行,就用‘service sshd start’启动安全登录遂道”。

=============================================

“如何查询已经开启的服务”

---------------------------------------------

没有简述,想了解请看完。

[root@TFW-EVL06-LT /]# service network status

Coppied.

配置设备:

lo eth0 ppp0

当前的活跃设备:

lo eth0 ppp0

[root@TFW-EVL06-LT /]# service tfw_httpd status

Usage: /etc/init.d/tfw_httpd {start|stop|restart}

[root@TFW-EVL06-LT /]#

可以看到,有一些服务控制脚本支持“status”参数,可以用“service [服务名] status”来查看;还有一些服务控制脚本不支持“status”参数,此时就只能凭经验判断了。

=============================================

“可以用TELNET、FTP举例,我的RH系统内有XINETD,也希望讲解下”

---------------------------------------------

在Redhat风格的发行版中,Telnet和FTP一版不是独立服务,而是被“超级服务器”XINETD托管。

XINETD是一个独立服务,和前述服务无异。它的控制脚本是“/etc/rc.d/init.d/xinetd”。

=============================================

“读哪个文件来判断服务的设置”

---------------------------------------------

不同的独立服务一般都拥有自己的配置文件。

典型情况下,“/etc/samba/smb.conf”是Windows网络邻居服务的主要配置文件,“/etc/ssh/sshd_config”是安全隧道服务器端的主要配置文件。

在我的计算机上,“/ext/prog/c/Apache/Httpd.EverestLinux-0.6-tb20090422/conf/”下的文件就是Apache-Httpd服务的主要配置文件。

在我曾经用过的Redhat系发行版Magic Linux 2.0中,Telnet和FTP等非独立服务的端口等配置信息出现在XINETD的配置文件中;而我现在所用的发行版Everest Linux 0.6虽然仍是Redhat系,Telnet和FTP的端口信息已经移到其各自的配置文件中。

ftp(file transfer protocol)

功能说明:设置文件系统相关功能。

语法:ftp [-dignv][主机名称或IP地址]

补充说明:FTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身。

参数: 《Linux就该这么学》

-d 详细显示指令执行过程,便于排错或分析程序执行的情形。

-i 关闭互动模式,不询问任何问题。

-g 关闭本地主机文件名称支持特殊字符的扩充特性。

-n 不使用自动登陆。

-v 显示指令执行过程。

1. 连接ftp服务器

格式:ftp [hostname| ip-address]

a)在linux命令行下输入:

ftp 192.168.1.1

b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。

c)也可以先输入ftp

ftp>

d)然后在输入要连接的IP

ftp>open 192.168.1.1

2. 下载文件

下载文件通常用get和mget这两条命令。

a) get

格式:get [remote-file] [local-file]

将文件从远端主机中传送至本地主机中。

如要获取远程服务器上/usr/your/1.htm,则

ftp>get /usr/your/1.htm 1.htm (回车)

b) mget

格式:mget [remote-files]

从远端主机接收一批文件至本地主机。

如要获取服务器上/usr/your/下的所有文件,则

ftp>cd /usr/your/

ftp>mget *.* (回车)

此时每下载一个文件,都会有提示。如果要除掉提示,则在mget *.* 命令前先执行:prompt off

注意:文件都下载到了linux主机的当前目录下。比如,在 /usr/my下运行的ftp命令,则文件都下载到了/usr/my下。

3.上传文件

a) put

格式:put local-file [remote-file]

将本地一个文件传送至远端主机中。

如要把本地的1.htm传送到远端主机/usr/your,并改名为2.htm

ftp>put 1.htm /usr/your/2.htm (回车)

b) mput

格式:mput local-files

将本地主机中一批文件传送至远端主机。

如要把本地当前目录下所有html文件上传到服务器/usr/your/ 下

ftp>cd /usr/your (回车)

ftp>mput *.htm (回车)

今天因工作需要使用ftp上传一大批图片到远程服务器,是将一整个目录下的图片全部都上传到远程服务器(一个虚拟主机的FTP),就用mput命令,默认的情况下,每上传一个文件都输入一下y来确认,俺没有时间进行这样搞(几千张图片哦),不想每一个文件都确认一下,就需要在命令模式,并登录系统后用prompt来关闭交互模式:ftp>prompt切换交谈式指令(使用mput/mget 时不用每个文件皆询问yes/no)这样就可以使用 mput *让它慢慢上传…喝茶去…注:ftp>help promptprompt force interactive prompting on multiple commandsftp>promptInteractive mode off.ftp>promptInteractive mode on.


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7238098.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存