服务进程管理
服务、系统状态查看
查看系统所有安装的服务
$ systemctl list-unit-files --type=service
查看系统所有运行的服务项
$ systemctl list-units --type=service
查看系统所有开机自启动的服务项
$ systemctl list-unit-files --type=service | grep enabled
查看指定服务项状态
$ systemctl status <服务项名称>
查看服务项的依赖关系
$ systemctl list-dependencies <服务项名称>
查看出错的服务
$ systemctl list-units --type=service --state=failed
清除服务项的错误状态
$ systemctl reset-failed <服务项名称>
查看系统启动耗时
$ systemd-analyze
查看各项服务启动耗时
$ systemd-analyze blame | grep .service
服务的管理
启动、停止、重启服务
$ systemctl start/stop/restart <服务项名称>
重新读取配置文件
$ systemctl reload <服务项名称>
使服务开机自启动、不自启
$ systemctl enable/disable <服务项名称>
启用、禁用服务
$ systemctl umadk/mask <服务项名称>
查看系统默认的启动级别
$ systemctl get-default
切换到某个启动级别
$ systemctl isolate <启动级别对应的 target 名>
例如
切换到图形界面
$ systemctl isolate graphical.target
设置系统默认的启动级别
![image-20210312093439154]()
$ systemctl set-default <启动级别对应的 target 名>
日志管理
开启日志持久化存储
Systemd默认只会把日志存储在内存中,一旦重启系统日志将全部丢失。所以强烈建议打开该功能。
去掉/etc/systemd/journald.conf这个文件内Storage=这一行前面的#号注释,然后将等号后面的内容改为persistent。
保存配置文件之后重启一下日志记录服务即可。
$ systemctl restart systemd-journald.service
查看自从本次开机后所有的日志信息
$ journalctl [-e] [-f]
-e 表示输出之后跳转到末行
-f 表示实时滚动显示
当没有使用-f时,使用PageUp或PageDown翻页,查看完毕后按q退出
查看特定 Unit (服务)所有的日志信息
$ journalctl [-e] [-f] -u <service名称>
当没有使用-f时,使用PageUp或PageDown翻页,查看完毕后按q退出
查看特定时间点内所有的日志信息
$ journalctl --since="yyyy-MM-dd hh:mm:ss" --until="yyyy-MM-dd hh:mm:ss"
使用PageUp或PageDown翻页,查看完毕后按q退出。
例如
查看2020年5月20日09:30:00至2020年5月20日10:00:00之间的所有日志
$ journalctl --since="2020-05-20 09:30:00" --until="2020-05-20 10:00:00"
查看日志当前占用的磁盘空间
$ journalctl --disk-usage
修改日志最大占用的磁盘空间
去掉/etc/systemd/journald.conf这个文件内SystemMaxUse=这一行前面的#号注释,然后在等号后面填上数值即可。
例如
修改日志最大占用的磁盘空间为 50M
$ SystemMaxUse=50M
保存配置文件之后重启一下日志记录服务即可。
$ systemctl restart systemd-journald.service
服务启动管理
centos6服务管理
RPM软件包
# 手动
$ service 服务名 动作 (start、stop、restart热重启 reload、status)
# 自动
$ chkconfig 服务名 on|off (开机启动、不启动)
on 默认指定级别是:2 3 4 5
$ chkconfig --level 35 httpd on 修改为35级别启动
$ chkconfig --list 列出开机启动、不启动的详细信息
![image-20210312094124308]()
系统启动级别(7个)
$ vim /etc/inittab
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this) 关机
# 1 - Single user mode 单个用户模式
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking) 比3少启动网络服务
# 3 - Full multiuser mode 完整多用户模式
# 4 - unused
# 5 - X11 桌面启动
# 6 - reboot (Do NOT set initdefault to this) 重启
当给0、1设置默认启动级别时,会导致无限关机重启
包含关系的软件结构
# telnet :远程连接管理协议,端口23(明文传输)
安装:
1、查找telnet相关的包 yum search <关键词> #查询中所有和关键词相关的 包
yum search telnet
yum -y install telnet-service会出现一个xinetd的依赖安装
chkconfig --list | grep telnet
chkconfig --list
service xinetd status
2、cd /etc/xinetd.d/
vim telnet
将disable后改为no
service xinetd restart
netstat -antp 观察23端口
3、service xinetd start
有些软件只是某软件中的一项子功能,开启主软件,子功能才能开启,并使用
Complete!Dependency
源码软件的启动
命令安装后的绝对路径来启动
/usr/local/apache2/bin/apachectl start|stop|restart|reload|status...
centos7服务管理
系统启动级别
系统启动级别文件存放目录:/usr/lib/systemd/system #所有可使用级别
lrwxrwxrwx. 1 root root 15 Sep 23 01:40 runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Sep 23 01:40 runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Sep 23 01:40 runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Sep 23 01:40 runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Sep 23 01:40 runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Sep 23 01:40 runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Sep 23 01:40 runlevel6.target -> reboot.target
在7中只有01356级别
将以上的系统级别文件软链接到:/etc/systemd/system/ multi-user.target.wants
ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target
default.target文件软链接的是哪个级别的文件,就按照哪个级别开机。
系统默认启动的软件连接目录:/etc/systemd/system/multi-user.target.wants
\#存放了各个软件的软链接,在本目录中有软链接的代表会开机自启动
RPM软件包:
手动:
systemctl start|stop|restart|... 服务名.service
自动:
systemctl enable|disable 服务名.service
telnet服务:
yum -y install telnet-server #安装
systemctl start telnet.socket #手动启动
systemctl enable telnet.socket #开机自启动
1. 查看每一个服务的开机自启动状态
C6:chkconfig --list
C7:systemctl list-unit-files --type=service
服务进程管理
服务、系统状态查看
查看系统所有安装的服务
$ systemctl list-unit-files --type=service
查看系统所有运行的服务项
$ systemctl list-units --type=service
查看系统所有开机自启动的服务项
$ systemctl list-unit-files --type=service | grep enabled
查看指定服务项状态
$ systemctl status <服务项名称>
查看服务项的依赖关系
$ systemctl list-dependencies <服务项名称>
查看出错的服务
$ systemctl list-units --type=service --state=failed
清除服务项的错误状态
$ systemctl reset-failed <服务项名称>
查看系统启动耗时
$ systemd-analyze
查看各项服务启动耗时
$ systemd-analyze blame | grep .service
服务的管理
启动、停止、重启服务
$ systemctl start/stop/restart <服务项名称>
重新读取配置文件
$ systemctl reload <服务项名称>
使服务开机自启动、不自启
$ systemctl enable/disable <服务项名称>
启用、禁用服务
$ systemctl umadk/mask <服务项名称>
查看系统默认的启动级别
$ systemctl get-default
切换到某个启动级别
$ systemctl isolate <启动级别对应的 target 名>
例如
切换到图形界面
$ systemctl isolate graphical.target
设置系统默认的启动级别
![image-20210312093439154]()
$ systemctl set-default <启动级别对应的 target 名>
日志管理
开启日志持久化存储
Systemd默认只会把日志存储在内存中,一旦重启系统日志将全部丢失。所以强烈建议打开该功能。
去掉/etc/systemd/journald.conf这个文件内Storage=这一行前面的#号注释,然后将等号后面的内容改为persistent。
保存配置文件之后重启一下日志记录服务即可。
$ systemctl restart systemd-journald.service
查看自从本次开机后所有的日志信息
$ journalctl [-e] [-f]
-e 表示输出之后跳转到末行
-f 表示实时滚动显示
当没有使用-f时,使用PageUp或PageDown翻页,查看完毕后按q退出
查看特定 Unit (服务)所有的日志信息
$ journalctl [-e] [-f] -u <service名称>
当没有使用-f时,使用PageUp或PageDown翻页,查看完毕后按q退出
查看特定时间点内所有的日志信息
$ journalctl --since="yyyy-MM-dd hh:mm:ss" --until="yyyy-MM-dd hh:mm:ss"
使用PageUp或PageDown翻页,查看完毕后按q退出。
例如
查看2020年5月20日09:30:00至2020年5月20日10:00:00之间的所有日志
$ journalctl --since="2020-05-20 09:30:00" --until="2020-05-20 10:00:00"
查看日志当前占用的磁盘空间
$ journalctl --disk-usage
修改日志最大占用的磁盘空间
去掉/etc/systemd/journald.conf这个文件内SystemMaxUse=这一行前面的#号注释,然后在等号后面填上数值即可。
例如
修改日志最大占用的磁盘空间为 50M
$ SystemMaxUse=50M
保存配置文件之后重启一下日志记录服务即可。
$ systemctl restart systemd-journald.service
服务启动管理
centos6服务管理
RPM软件包
# 手动
$ service 服务名 动作 (start、stop、restart热重启 reload、status)
# 自动
$ chkconfig 服务名 on|off (开机启动、不启动)
on 默认指定级别是:2 3 4 5
$ chkconfig --level 35 httpd on 修改为35级别启动
$ chkconfig --list 列出开机启动、不启动的详细信息
![image-20210312094124308]()
系统启动级别(7个)
$ vim /etc/inittab
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this) 关机
# 1 - Single user mode 单个用户模式
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking) 比3少启动网络服务
# 3 - Full multiuser mode 完整多用户模式
# 4 - unused
# 5 - X11 桌面启动
# 6 - reboot (Do NOT set initdefault to this) 重启
当给0、1设置默认启动级别时,会导致无限关机重启
包含关系的软件结构
# telnet :远程连接管理协议,端口23(明文传输)
安装:
1、查找telnet相关的包 yum search <关键词> #查询中所有和关键词相关的 包
yum search telnet
yum -y install telnet-service会出现一个xinetd的依赖安装
chkconfig --list | grep telnet
chkconfig --list
service xinetd status
2、cd /etc/xinetd.d/
vim telnet
将disable后改为no
service xinetd restart
netstat -antp 观察23端口
3、service xinetd start
有些软件只是某软件中的一项子功能,开启主软件,子功能才能开启,并使用
Complete!Dependency
源码软件的启动
命令安装后的绝对路径来启动
/usr/local/apache2/bin/apachectl start|stop|restart|reload|status...
centos7服务管理
系统启动级别
系统启动级别文件存放目录:/usr/lib/systemd/system #所有可使用级别
lrwxrwxrwx. 1 root root 15 Sep 23 01:40 runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Sep 23 01:40 runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Sep 23 01:40 runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Sep 23 01:40 runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Sep 23 01:40 runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Sep 23 01:40 runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Sep 23 01:40 runlevel6.target -> reboot.target
在7中只有01356级别
将以上的系统级别文件软链接到:/etc/systemd/system/ multi-user.target.wants
ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target
default.target文件软链接的是哪个级别的文件,就按照哪个级别开机。
系统默认启动的软件连接目录:/etc/systemd/system/multi-user.target.wants
\#存放了各个软件的软链接,在本目录中有软链接的代表会开机自启动
RPM软件包:
手动:
systemctl start|stop|restart|... 服务名.service
自动:
systemctl enable|disable 服务名.service
telnet服务:
yum -y install telnet-server #安装
systemctl start telnet.socket #手动启动
systemctl enable telnet.socket #开机自启动
1. 查看每一个服务的开机自启动状态
C6:chkconfig --list
C7:systemctl list-unit-files --type=service