(勿看找个地方记笔记)认识系统服务

认识系统服务(daemons)


服务:常驻在记忆体中的程序,可以提供一些系统或网络功能。
daemon:达成service的程序。服务被挂在Linux中,名称后面会加一个d。

早期的init管理行为中daemon主要分类


基本上init的管理机制特色
1.服务的启动、关闭与观察等方式
所有服务启动脚本都有在/etc/init.d/底下。
2.服务启动的分类
   独立启动模式,总管程序。
3.服务的相依性问题
  init在管理员自己手动处理这些服务时,是没有办法卸载相依服务唤醒的。
4.执行等级分类
Linux提供7个执行等级0~6,1是单人维护模式,3是纯文本模式,5是文字加图形界面,各个执行等级的启动脚本透过/etc/rc.d/rc[0-6]/SXXdaemon连结到/etc/init.d/daemon,连结档名(SXXdaemon)的功能:S为启动该服务,XX是数字启动顺序。
制定执行等级默认要启动的服务
预设要启动:chkconfig  daemon on;预设不启动:chkconfig  daemon off;观察预设为启动否:chkconfig  --list  daemon。
5.执行等级的切换行为
例如从纯文本界面(runlevel 3)切换图形界面(runlevel 5),关闭该执行等级性格服务,只需init 5即可切换,init主动分析/etc/rc.d/rc[3 5].d/这两个目录,然后启动转换runlevel在需要的服务,完成整体切换。

systemd使用的unit分类(centos7.x)


1.平行处理所有服务,加速开机流程
2.一经要求就响应的on-demand启动方式
systemd仅有一只搭配systemctl指令
3.服务相依性的自我检查
4.依daemon功能分类
systemd将服务单位(unit)区分为service,socket,target,path,snapshot,timer等多种不同类型的(type),方便管理员分类记忆
5.将多个daemons集成一个群组(target项目)
6.向下兼容旧的init服务脚本

systemd的配置文件放置目录


/usr/lib/systemd/system/:每个服务最主要的启动脚本设定
/run/systemd/system/:系统执行过程中所产生的服务脚本
/etc/systemd/system/:管理员已经主机系统的需求所建立的执行脚本

systemd的unit类型分类
常见的systemd服务

 

透过systemctl管理服务


透过systemctl管理单一服务(service unit)的启动/开机启动与观察状态
一般,服务的启动有两个阶段,一个 开机时设定要不要启动这个服务,另一个是 你限制要不要启动这个服务。


daemon的ative状态有哪些
active(running):正有一只或多只程序正在系统中执行的意思
active(exited):仅执行一次就正常结束的服务,目前并没有任何程序在系统中执行。
active(waiting):正在执行当中,不过还在等待其他的事件才能继续处理。
inactive:这个服务目前没有运作的意思。
daemon预设状态
enabled:这个daemon将在开机时被执行。
disabled:这个daemon在开机时不会被执行。
static:这个daemon不可以自己启动,不过肯会被其他的enabled服务来唤醒(相依属性服务)。
mask:这个daemon无论如何都无法被启动,因为已经被强制注销,可通过systemctl unmask方法改回原本状态。


透过systemctl观察系统上所有的服务

 

透过systemctl管理不同的操作环境(target unit)


列出和操作界面有关的target项目:systemctl  list-units  --type=target  --all
在cenos7.1预设情况下,有26个target unit,与操作界面相关性较高的有:
1.graphical.target(正常常用模式):文字加上图形界面,这个姓名已经包含了底下的mulit-user.target项目。
2.multi-user.target(正常常用模式):纯文本模式。
3.rescue.target(救援模式):在五月份使用root登入的情况下,systemd在开机时会多加一个额外的暂时系统,与你原本的系统无关。
4.emergency.target(救援模式):紧急处理系统的错误,需要使用root登入的情况,在无法使用rescue.target时,可以尝试使用这种模式
5.shutdown.target:关机的流程。
6.getty.target:可以设定需要几个tty之类的,想要降低tty项目,可以修改这个配置文件。
模式的查询修改
改变graphical.target以及multi-user.target是透过isolate来处理的。

 
简单的切换操作模式指令
 

透过systemctl分析各服务之间的相依性

 

与systemd的daemon运作过程相关的目录简介


/usr/lib/systemd/system/:默认的启动脚本配置文件都在这样,尽量不要修改
/run/systemd/system/:系统执行过程中所产生的服务脚本,优先序比前面一个高
/etc/systemd/system/:管理员依据主机系统的需求所建立的执行脚本。
/etc/sysconfig/*:几乎所有的服务都会初始化的一些选项设定写入到这个目录下。
/var/lib/:一些会产生数据的服务都会将他的数据写入到/var/lib.目录中。
/run/:放置了好多daemon的暂存档,包括lock file以及PID file等等。

关闭网络服务

netstat  -tlunp
systemctl  list-units  --all |grep avahi-daemon
systemctl  stop avahi-daemon.service
systemctl  stop  avahi-daemon.socket
systemctl  disable  avahi-daemon.service  avahi-daemon.socket
avahi-daemon这个服务可以协助你的区网内随时了解即插的装置,只要连上你的区网,就能知道谁进来了。

systemctl针对service类型的配置文件


/usr/lib/systemd/system/vsftpd.service:官方释出的预设配置文件
/etc/systemd/system/vsftpd.service.d/custom.conf:在这个目录下的文件会累加其他设定进入/usr/lib/systemd/system/vsftpd.service内。
/etc/systemd/system/vsftpd.service.wants/*:此目录内的文件为链接档,设定相依服务的连结。意思是启动了vsftpd.service之后,最好在加上这个目录底下建议的服务。
/etc/systemd/system/vsftpd.service.requires/*:此目录内的文件为链接档,设定相依服务的连结。意思是启动了vsftpd.service之前,需要事先启动那些服务的意思。

systemctl配置的文件的设定项目简介


可以将配置文件的整个设定分为三个部分
Unit:unit本身说明;Service socket path...:不同的unit type就得要使用相对应的设定项目;Install:这个项目就是将此unit安装到那个target里面的意思。
配置文件内的设定规则
1.设定项目可以重复,但是后面设定会取代前面设定,设定值归零,使用After= ,等号后面什么都没有代表设定归零。
2.如果设定参数需要有是或否项目(布尔值,boolean),可以使用1、yes、true、on代表启动,用0、no、false、off代表关闭。
3.空白行、开头为#或:那一行,都代表批注。

 

 

 

systemctl针对timer的配置文件


crond:定期处理任务,timer协助出口定期任务
systemd.timer的优势
1.由于所有的systemd的服务信息都会被记录(log),因此crond在debug上面要更加清楚方便的多。
2.各项timer的工作可以跟syste的服务相结合。
3.各项timer的工作可以跟control group结合,来限制该工作的资源利用。
任务需求
1.系统的timer.target一定要启动。
2.要有个sname.service的服务存在(sname自己指定的名字)。
3.要有个sname.timer的事件启动服务存在。

sname.timer的设定值
可以在/etc/systemd/system底下建议*.timer

使用于OnCalendar的时间
从crontab转换成timer功能,需要了解时间设定格式
语法:英文周名  YYYY-MM-DD  HH:MM:SS
范例:Thu          2022-05019     13:30:00
常用的时间间隔单位


常见范例

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值