• 【systemd】简单的服务创建练习


    Linux 中使用 systemd 创建一个服务来运行测试脚本是一个不错的练习。下面是一个简单创建和测试一个 systemd 服务的步骤。

    1. 创建测试脚本

    首先,创建一个简单的脚本,例如 test-script.sh

    #!/bin/bash
    
    # test-script.sh
    echo "Hello, this is a test script running as a systemd service!"
    

    将上述内容保存到 /usr/local/bin/test-script.sh,并确保脚本是可执行的:

    sudo chmod +x /usr/local/bin/test-script.sh
    

    2. 创建 systemd 服务文件

    接下来,创建一个 systemd 服务文件。服务文件通常位于 /etc/systemd/system/ 目录下。可以命名为 test-script.service

    sudo nano /etc/systemd/system/test-script.service
    

    在文件中添加以下内容:

    [Unit]
    Description=Test Script Service
    
    [Service]
    ExecStart=/usr/local/bin/test-script.sh
    StandardOutput=journal
    
    [Install]
    WantedBy=multi-user.target
    

    3. 重新加载 systemd 配置

    在创建服务文件后,重新加载 systemd 配置以使其识别新的服务:

    sudo systemctl daemon-reload
    

    4. 启动服务

    可以使用以下命令启动服务:

    sudo systemctl start test-script.service
    

    5. 查看服务输出

    由于我们将输出定向到系统日志,可以使用 journalctl 查看输出:

    sudo journalctl -u test-script.service
    

    如果要查看最新的输出,可以使用:

    sudo journalctl -u test-script.service -f
    

    6. 设置服务开机自启(可选)

    如果希望该服务在系统启动时自动启动,可以运行:

    sudo systemctl enable test-script.service
    

    7. 停止和禁用服务(可选)

    要停止服务,可以运行:

    sudo systemctl stop test-script.service
    

    要禁用开机自启,可以运行:

    sudo systemctl disable test-script.service
    

    8. 其他补充

    StandardOutput=journal 将服务的标准输出重定向到 systemd 日志中。默认不填也是这个配置。

    使用 StandardOutputStandardError 重定向到文件

    另一种更常见和简单的方法是将输出重定向到文件,然后查看文件内容:

    1. 编辑服务文件

      [Unit]
      Description=Test Script Service
      
      [Service]
      ExecStart=/usr/local/bin/test-script.sh
      StandardOutput=file:/var/log/test-script.log
      StandardError=file:/var/log/test-script.err
      
      [Install]
      WantedBy=multi-user.target
      

      在上述配置中,标准输出被重定向到 /var/log/test-script.log,标准错误被重定向到 /var/log/test-script.err

    2. 重新加载 systemd 配置

      sudo systemctl daemon-reload
      
    3. 启动服务

      sudo systemctl start test-script.service
      
    4. 查看输出文件

      可以查看 /var/log/test-script.log/var/log/test-script.err 文件以获取输出:

      cat /var/log/test-script.log
      cat /var/log/test-script.err
      

    总结

    日志更常见的做法是将输出重定向到文件或日志系统。将输出重定向到文件不仅更容易管理,还能持久保存日志信息供日后查看和分析。

  • 相关阅读:
    神经网络和深度学习-后向传播back propagation
    C# newtonsoft对json进行排序
    .NET Core中使用gRPC
    炒鸡清晰的防御综合实验(内含区域划分,安全策略,用户认证,NAT认证,智能选路,域名访问)
    B40 - 基于STM32单片机的电热蚊香蓝牙控制系统
    元宇宙场景技术实践|实现“虚拟人”自由
    前后端交互—Ajax基础
    接口自动化测试框架postman tests常用方法
    秒杀项目——多级缓存
    【网络通信层】华为云连接MQTT设备
  • 原文地址:https://blog.csdn.net/qq_38202733/article/details/140373434