Linux创建服务使用systemctl管理详解

2025-09-30 01:50

本文主要是介绍Linux创建服务使用systemctl管理详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权...

创建服务 /usr/lib/systemd/system/

[Unit]
# 服务描述(自定义,便于识别)
Description=SFTP Directory Sync Service (inotifywait + rsync daemon)
# 服务依赖:网络启动后、rsync 服务启动后再启动本服务(确保网络和依赖可用)
After=network.target rsyncd.service
# 服务文档(可选,指向命令手册)
Documentation=man:inotifywait(1) man:rsync(1)

[Service]
# 服务类型:simple(前台运行,适合持续监控的脚本)
Type=simple
# 执行服务的用户/组(建议用 root,避免目录、密码文件权限不足)
User=root
GroucaNEyYnMfp=root
# 工作目录(脚本所在目录,避免相对路径问题)
WorkingDirectory=/usr/local/bin/sftp_sync
# 核心:服务启动命令(脚本绝对路径,必须正确)
ExecStart=/usr/local/bin/sftp_sync/sftp_sync_daemon.sh
# 服务意外退出时自动重启(确保稳定性,如脚本崩溃后恢复)
Restart=always
# 重启间隔(意外退出后,5秒再重启,避免频繁重启)
RestartSec=5
# 停止服务时,杀死所有子进程(避免 inotifywait 残留)
KillMode=control-group
# 输出重定向到 journalctl(可通过 journpythonalctl 查看服务运行日志)
StandardOutput=journal
StandardError=journal

[Install]
# 服务安装目标:多用户模式下开机自启(适配服务器环境)
WantedBy=multi-user.target

设置服务文件权限:所有者读写,其他用户只读

chmod 644 /usr/lib/systemd/system/sftp-syjavascriptnc-daemon.service

systemctl 配置

  1. 重新加载 systemd 配置
systemctl daemon-reload
  1. 启动服务
systemctl start sftp-sync-daemon
  1. 查看服务状态(关键!确认是否正常运行)
systemctl status sftp-sync-daemon -l

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持China编程(www.chinasem.cn)。

这篇关于Linux创建服务使用systemctl管理详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1156104

相关文章

C++ move 的作用详解及陷阱最佳实践

《C++move的作用详解及陷阱最佳实践》文章详细介绍了C++中的`std::move`函数的作用,包括为什么需要它、它的本质、典型使用场景、以及一些常见陷阱和最佳实践,感兴趣的朋友跟随小编一起看... 目录C++ move 的作用详解一、一句话总结二、为什么需要 move?C++98/03 的痛点⚡C++

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Java中ArrayList与顺序表示例详解

《Java中ArrayList与顺序表示例详解》顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构,:本文主要介绍Java中ArrayList与... 目录前言一、Java集合框架核心接口与分类ArrayList二、顺序表数据结构中的顺序表三、常用代码手动

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

JAVA线程的周期及调度机制详解

《JAVA线程的周期及调度机制详解》Java线程的生命周期包括NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATED,线程调度依赖操作系统,采用抢占... 目录Java线程的生命周期线程状态转换示例代码JAVA线程调度机制优先级设置示例注意事项JAVA线程

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra