当前位置: 首页 > news >正文

网站设计开发的销售主要工作石家庄品牌设计公司

网站设计开发的销售主要工作,石家庄品牌设计公司,wordpress批量更新文章,wordpress gif 压缩进程与服务管理:systemd / sysvinit 服务管理、定时服务(cron / at) 1. 前言 在 Linux 操作系统的日常运维工作中,进程与服务管理是保障系统稳定运行、资源合理分配的核心环节。其中,服务管理工具经历了从传统的 sysvi…

进程与服务管理:systemd / sysvinit 服务管理、定时服务(cron / at)

1. 前言

在 Linux 操作系统的日常运维工作中,进程与服务管理是保障系统稳定运行、资源合理分配的核心环节。其中,服务管理工具经历了从传统的 sysvinit 到现代的 systemd 的演进,而定时服务则通过 cron 与 at 工具,实现了任务的自动化执行。本文将深入剖析这两类工具的原理、特性与实操方法,为运维人员提供全面的技术指引。

在 Linux 系统中,进程与服务管理是运维与开发必备技能。

  • 进程:系统中正在运行的程序实例。
  • 服务(Service):常驻后台的特殊进程,通常在系统启动时自动运行,例如 nginxmysqld
  • 定时服务:在指定时间或周期执行任务的机制,如 cronatsystemd timer

本文将从 systemdSysVinit 两种服务管理方式入手,再讲解 cronat 的定时任务管理。


2. 服务管理基础

2.1 SysVinit 简介

sysvinit 是早期 Linux 发行版(如 CentOS 6、Debian 6 之前版本)默认的服务管理系统,其设计基于 System V Unix 的初始化机制,核心依赖初始化脚本实现服务控制。这些脚本通常存储在/etc/init.d/目录下,以 Shell 脚本的形式编写,包含 start、stop、restart、status 等基本操作逻辑。

在 sysvinit 体系中,服务的启动顺序由运行级别(Runlevel)决定,系统通过/etc/inittab文件定义默认运行级别(如级别 3 为多用户命令行模式,级别 5 为图形界面模式),并在切换运行级别时,执行对应/etc/rc.d/rc[0-6].d/目录下的脚本(以 S 开头表示启动,K 开头表示停止,后面的数字代表执行优先级)。

SysVinit 是传统的初始化系统,依赖 /etc/init.d/ 下的 Shell 脚本按顺序启动服务。
特点:

  • 启动顺序固定(串行)
  • 依赖管理简单
  • 仍在部分老系统或容器镜像中使用

常用命令:

# 启动 / 停止 / 重启 / 状态
sudo service nginx start
sudo service nginx stop
sudo service nginx restart
sudo service nginx status# 直接调用脚本
sudo /etc/init.d/nginx start# 管理开机自启(RHEL/CentOS)
chkconfig --add nginx
chkconfig nginx on
chkconfig nginx off# 管理开机自启(Debian/Ubuntu)
sudo update-rc.d nginx defaults
sudo update-rc.d -f nginx remove启动服务:service httpd start 或 /etc/init.d/httpd start
停止服务:service httpd stop 或 /etc/init.d/httpd stop
重启服务:service httpd restart 或 /etc/init.d/httpd restart
查看状态:service httpd status 或 /etc/init.d/httpd status
设置开机自启(基于 chkconfig 工具):chkconfig httpd on
取消开机自启:chkconfig httpd off

2.2 systemd 简介

为解决 sysvinit 的缺陷,systemd 应运而生,并逐渐成为主流 Linux 发行版(如 CentOS 7 及以上、Ubuntu 15.04 及以上、Debian 8 及以上)的默认初始化系统。systemd 采用并行启动机制,能同时启动多个无依赖关系的服务,大幅缩短系统启动时间;同时,它以单元文件(Unit File) 替代传统的 Shell 脚本,通过统一的配置格式定义服务属性、依赖关系与运行参数,提升了服务管理的标准化与灵活性。

systemd 将系统中的各类资源抽象为 “单元”,服务(Service)仅是其中一种单元类型,其他常见单元还包括目标(Target,类似 sysvinit 的运行级别)、挂载点(Mount)、套接字(Socket)等。服务对应的单元文件通常存储在/usr/lib/systemd/system/(系统默认单元文件)和/etc/systemd/system/(用户自定义或修改的单元文件)目录下,文件名以.service为后缀(如httpd.service、sshd.service)。

一个典型的.service单元文件包含 [Unit]、[Service] 和 [Install] 三个核心区块:

[Unit] 区块

定义单元的元数据,如单元名称、描述、依赖关系(After 指定在哪些单元之后启动,Requires 指定强依赖单元,Wants 指定弱依赖单元)等。例如:

[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
[Service] 区块:

定义服务的运行参数,如启动命令(ExecStart)、停止命令(ExecStop)、重启命令(ExecReload)、运行用户(User)、进程类型(Type,如 simple、forking)等。例如:

[Service]
Type=forking
ExecStart=/usr/sbin/httpd $OPTIONS -k start
ExecStop=/usr/sbin/httpd -k stop
ExecReload=/usr/sbin/httpd -k graceful
User=apache
Group=apache
[Service] 区块:

定义服务的运行参数,如启动命令(ExecStart)、停止命令(ExecStop)、重启命令(ExecReload)、运行用户(User)、进程类型(Type,如 simple、forking)等。例如:

[Service]
Type=forking
ExecStart=/usr/sbin/httpd $OPTIONS -k start
ExecStop=/usr/sbin/httpd -k stop
ExecReload=/usr/sbin/httpd -k graceful
User=apache
Group=apache
[Install] 区块:

定义服务的安装配置,主要用于设置服务开机自启时对应的目标单元(WantedBy 指定服务被哪些目标单元依赖)。例如:

[Install]
WantedBy=multi-user.target

特点:

  • 并行启动,提升开机速度
  • 统一管理服务、挂载点、套接字、定时任务
  • 集成日志系统 journalctl
  • 支持依赖管理与资源限制(cgroups)

常用命令:

# 启动 / 停止 / 重启服务
sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx# 查看状态
systemctl status nginx# 开机自启 / 禁用
sudo systemctl enable nginx
sudo systemctl disable nginx# 查看是否启用
systemctl is-enabled nginx# 查看日志
journalctl -u nginx
journalctl -u nginx -f  # 实时跟踪

2.3 systemd vs SysVinit 对比

特性systemdSysVinit
启动方式并行、事件驱动串行
依赖管理高级、动态简单、静态
日志集成 journalctl文本日志
资源控制支持 cgroups
定时任务支持 .timer
启动速度

3. 定时任务管理

在 Linux 运维中,经常需要执行周期性任务(如每天凌晨备份数据库、每周清理日志)或一次性延迟任务(如 1 小时后重启服务器),此时便需要依赖定时服务工具。Linux 系统中最常用的定时服务工具为 cron(用于周期性任务)和 at(用于一次性任务),二者分工明确,共同构成了系统的自动化任务调度体系。

3.1 cron —— 周期性任务

cron 是最常用的周期性任务调度工具,支持按分钟、小时、日、月、星期等粒度执行任务。

cron 的时间规则通过 “时间表达式” 定义,格式为 5 个空格分隔的字段(部分场景支持第 6 个字段 “年”,但主流系统默认不支持),分别代表 “分钟、小时、日、月、星期”,每个字段可取值范围及特殊符号如下:

编辑当前用户的定时任务:

crontab -e

任务格式:

分钟 小时 日 月 星期 命令

示例:

# 每天凌晨 2 点执行备份
0 2 * * * /usr/local/bin/backup.sh# 每 5 分钟执行一次脚本
*/5 * * * * /home/user/script.sh常见的时间表达式示例:​
0 2 * * *:每天凌晨 2 点执行​
*/30 8-18 * * *:每天 8 点到 18 点,每 30 分钟执行一次​
0 1 * * 1:每周一凌晨 1 点执行​
0 0 1 * *:每月 1 号凌晨 0 点执行​
30 12 15 6 ?:每年 615 日中午 1230 分执行(星期字段用?避免冲突)

常用命令:

crontab -l   # 查看任务
crontab -r   # 删除任务
systemctl status crond  # 查看 cron 服务状态

3.2 at —— 一次性任务

at 用于在未来某个时间执行一次任务,适合临时调度。

与 cron 用于周期性任务不同,at 工具专门用于执行一次性延迟任务(如 “10 分钟后重启服务器”“明天下午 5 点执行数据导出脚本”),任务执行完成后便自动失效,无需手动删除配置。

使用示例:

# 安装 at 服务
sudo yum install at
sudo systemctl start atd
sudo systemctl enable atd# 在 10 分钟后执行任务
echo "echo 'Hello World' >> /tmp/test.txt" | at now + 10 minutes# 查看任务队列
atq# 删除任务
atrm <任务ID>

3.3 systemd 定时器(替代 cron)

systemd 提供 .timer 单元,可替代 cron,并支持依赖管理、资源限制。

示例:

  1. 创建服务文件 /etc/systemd/system/backup.service
[Unit]
Description=Backup Service[Service]
ExecStart=/usr/local/bin/backup.sh
  1. 创建定时器 /etc/systemd/system/backup.timer
[Unit]
Description=Run backup daily[Timer]
OnCalendar=daily
Persistent=true[Install]
WantedBy=timers.target
  1. 启用定时器:
sudo systemctl enable --now backup.timer
systemctl list-timers

4. 实战建议

  • 新系统优先用 systemd:功能更强,日志与依赖管理完善
  • 老系统或轻量容器:可能仍需 SysVinit
  • 周期任务:简单任务用 cron,复杂依赖任务用 systemd timer
  • 一次性任务:用 at,避免长期占用调度表

5. 总结

Linux 服务与定时任务管理是系统运维的核心技能:

  • systemd:现代化、功能强大,适合大多数场景
  • SysVinit:简单稳定,适合老旧或极简系统
  • cron / at:经典定时任务工具,简单高效
  • systemd timer:更灵活的定时任务替代方案

掌握这些工具,可以让你的系统运行更高效、更可控。

http://www.dtcms.com/a/529284.html

相关文章:

  • 代码随想录 700.二叉搜索树中的搜索
  • Vue3的自定义Hooks
  • Java的方法引用
  • 一个AVX的快速求向量余弦函数
  • 合肥优化网站哪家公司好网页打不开是什么问题
  • 去国外网站开发客户中的contact us 没有邮箱爱南宁app下载
  • MySQL 的各种关联查询(JOIN)
  • h5游戏免费下载:水果忍者
  • 有什么网站可以做微信支付宝支付宝视频模板免费制作
  • 基于单片机的智能厨房环境控制系统设计
  • 某公司网站建设策划书html中文美食网站模板
  • 多源bfs
  • ESP32使用笔记(基于IDF):小智AI项目ESP32二次开发指南
  • RT-Thread Nano版本在GD32F527I-EVAL评估板的移植
  • 网站的优势是什么意思杭州网站建设哪家快速上线
  • AI大模型:(二)6.2 YOLO模型训练实践及目标跟踪
  • 手机端网站关键词排名内衣网站建设推广
  • Python第三方库pip和conda指令无法下载某些库解决办法
  • 网站套餐表格模板怎么做蛋糕店的网站
  • 哪里建设网站最好用做图的兼职网站
  • 为歌手做的个人网站seo编辑培训
  • 学习从0开始使用内网穿透工具cpolar(个人记录、详细图解)
  • wordpress模板免费win7优化大师官网
  • Linux 文本处理“三剑客”:sed命令完全指南
  • Graph + Agents 融合架构:2025年七大创新路径
  • 临沂网站制作费用如何做自己公司网站
  • STM32H723ZGT6 ADC+DMA多通道-老是进入DMA中断错误函数且不进入adc回调函数总结
  • 成毅李一桐《天地剑心》今日开播 热血群像演绎东方英雄故事
  • Atlas 200I A2 加速模块-GPU适配
  • 石家庄职业技术学院教务网络管理系统三明网站优化