Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > 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
Group=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(可通过 journalctl 查看服务运行日志)
StandardOutput=journal
StandardError=journal

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

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

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

systemctl 配置

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文