linux自有服务(systemctl)(ntp、firewalld、crond)

Linux 自有服务与 systemctl 管理指南

一、自有服务概述

服务是一些特定的进程,自有服务就是系统开机后就自动运行的一些进程,一旦客户发出请求,这些进程就自动为他们提供服务。在 Windows 系统中,把这些自动运行的进程称为“服务”。

举例:当我们使用 SSH 客户端软件连接 Linux 的时候,服务器能对连接做出响应,是因为 SSH 服务在开机时就已经自动运行了。

✅ 自有服务:可理解为 Linux 系统开机自动运行的服务(程序)


二、自有服务的管理(systemctl 管理服务命令)

在 CentOS 7 之前,常通过以下两个命令管理服务:

  • service:负责启动、停止服务,显示服务状态
  • chkconfig:指定服务是否开机启动

从 CentOS 7 开始,统一使用 systemctl 管理服务,具有 service 和 chkconfig 的全部功能。


1. 显示服务

命令systemctl
作用:管理服务
语法

systemctl [选项]
📌 常用选项:
选项说明
list-units --type=service --all列出所有服务(包括未启动的)
list-units --type=service只列出已启动的服务
示例一:列出所有服务(包含启动和未启动)
systemctl list-units --type=service --all
  • 空格翻页,按 q 退出
示例二:列出当前运行的服务
systemctl list-units --type=service

2. 启动/停止/查看服务状态

语法

systemctl [选项] 服务名
📌 常用操作选项:
操作示例说明
statussystemctl status crond查看服务状态
startsystemctl start crond启动服务
stopsystemctl stop crond停止服务
restartsystemctl restart crond重启服务
reloadsystemctl reload crond重新加载配置(服务支持时)
示例说明:
  • 查看服务状态:
systemctl status crond

输出中 Active: active (running) 表示正在运行。

  • 停止服务:
systemctl stop crond

输出中 Inactive 表示服务停止。

  • 启动服务:
systemctl start crond
  • 重启服务:
systemctl restart crond
  • 重新加载服务配置(部分服务支持):
systemctl reload crond

3. 服务持久化(开机自动启动)

定义:服务持久化是指服务是否能在系统启动时自动运行。

命令语法

systemctl [enable/disable] 服务名
📌 操作示例:
  • 禁用开机启动:
systemctl disable crond
  • 启用开机启动:
systemctl enable crond

4. systemctl 命令参数总结

参数含义
list-units --type service --all列出所有服务(包含未启动)
list-units --type service列出所有正在运行的服务
start启动指定服务
stop停止指定服务
status查看服务状态
restart重启服务
reload重新加载配置(部分服务支持)
enable设置服务为开机启动
disable禁用服务开机启动

Linux 自有服务详解(ntp、firewalld、crond)

一、常用自有服务

服务名含义
ntpd用于同步计算机系统时间的服务
firewalldLinux防火墙服务,用于网络安全防护
crondLinux计划任务服务,用于定时执行任务

二、ntp 时间同步服务

什么是NTP?

  • NTP(Network Time Protocol):用于同步网络中计算机时间的协议。
  • 来源:通过 UTC(世界协调时间)同步,标准时间来自原子钟、天文台、GPS、互联网等。

应用场景

如100台服务器构成电商平台后端,若不做时间同步,会出现“用户明天下单,今天发货”的时间错乱问题。

NTP 层级结构

  • NTP通过**Stratum(层级)**传播时间,最多支持15层。
  • 我们通常使用公网 NTP 服务器,如:http://www.ntp.org.cn/pool.php

时间同步方式

手动同步时间

```bash
ntpdate 120.25.108.11 # 阿里云时间服务器
```

注意:需服务器可以访问公网,否则报错 no servers can be used

自动同步时间

```bash
systemctl start ntpd
systemctl enable ntpd # 设置为开机自动启动
```

配置文件路径:/etc/ntp.conf


三、firewalld 防火墙

基本概念

  • 防火墙:用于阻止非法访问、控制网络流量,保障网络安全。
  • CentOS 6 默认使用 iptables
  • CentOS 7+ 默认使用 firewalld,引入了**区域(zone)**概念。

常见区域与默认规则

区域名策略简介
trusted允许所有数据包
home拒绝除关联流量外的所有流入,仅允许 ssh、mdns、ipp-client 等服务
public拒绝除关联流量外的流入,仅允许 ssh、dhcpv6-client
block拒绝除关联流量外的所有流入,非法流量“拒绝”
drop拒绝除关联流量外的所有流入,非法流量“丢弃”
external类似public,只允许 ssh
work类似home
dmz仅允许 ssh

模式说明

  • 运行模式:配置即时生效,不保存到配置文件。
  • 永久模式:写入配置文件,但需要执行 --reload 重载。

服务控制命令(systemctl)

systemctl status firewalld     # 查看状态
systemctl start firewalld      # 启动
systemctl stop firewalld       # 停止
systemctl restart firewalld    # 重启
systemctl reload firewalld     # 重载配置(推荐 restart)

配置管理命令(firewall-cmd)

功能描述示例命令
查看默认区域`firewall-cmd --get-default-zone`
查看所有区域`firewall-cmd --get-zones`
查看当前区域配置`firewall-cmd --list-all`
查看所有区域配置`firewall-cmd --list-all-zones`
添加端口临时规则`firewall-cmd --zone=public --add-port=1024/tcp`
添加服务临时规则`firewall-cmd --zone=public --add-service=ftp`
移除端口临时规则`firewall-cmd --zone=public --remove-port=1024/tcp`
永久添加规则`firewall-cmd --permanent --zone=public --add-port=1024/tcp`
重载配置使永久生效`firewall-cmd --reload`

四、crond 计划任务

作用

  • 用于在特定时间执行任务,如每天凌晨自动重启服务,自动备份等。

常用命令(crontab)

命令含义
crontab -l查看当前用户的任务列表
crontab -e编辑当前用户的任务列表
crontab -r删除当前用户的任务列表
crontab -u 用户名指定其他用户(需要root权限)

任务语法格式

* * * * *  command_to_execute
| | | | |
| | | | ----- 星期 (0-7) (0和7都代表星期天)
| | | ------- 月 (1-12)
| | --------- 日 (1-31)
| ----------- 时 (0-23)
------------- 分 (0-59)

支持的特殊符号

  • *:任意值
  • -:范围,如 1-5
  • /:间隔频率,如 */10 表示每10分钟
  • ,:多个指定值,如 1,2,6

注意事项

  • 有些命令需使用绝对路径,例如 useradd 等。
    ```bash
    whereis useradd # 查询命令位置
    ```

实用案例

问题描述crontab 表达式
每月1、10、22日的4:45重启network服务45 4 1,10,22 * * systemctl restart network
每周六、周日的1:10重启network服务10 1 * * 6,7 systemctl restart network
每天18:00至23:00每隔30分钟执行任务*/30 18-23 * * * 命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值