• linux中的unit的配置文件


    https://blog.csdn.net/weixin_34195546/article/details/92135827

    配置文件格式

    1)unit配置文件格式

    [Unit]

    Description=backup /etc

    Requires=atd.service

    [Service]

    Type=simple

    ExecStart=/bin/bash -c "echo /testdir/bak.sh|at now"

    [Install]

    WantedBy=multi-user.target

    [unit] :定义与Unit类型无关的通用选项;用于提供unit的描述信息、 unit行为及依赖关系等

    [Service]:与特定类型相关的专用选项;此处为Service类型

    [Install]:定义由“ systemctl enable”以及"systemctl disable“命令在实现服务启用或禁用时用到的一些选项

    2、Unit段的常用选项:

    Description:描述信息

    After:定义unit的启动次序,表示当前unit应该晚于哪些

    unit启动,其功能与Before相反

    Requires:依赖到的其它units,强依赖,被依赖的units无法激活时,当前unit也无法激活

    Wants:依赖到的其它units,弱依赖

    Conflicts:定义units间的冲突关系

    BindsTo:与Requires类似,它指定的 Unit 如果退出,会导致当前 Unit 停止运行

    Before:如果该字段指定的 Unit 也要启动,那么必须在当前 Unit 之后启动

    Conflicts:这里指定的 Unit 不能与当前 Unit 同时运行

    Condition...:当前 Unit 运行必须满足的条件,否则不会运行

    Assert...:当前 Unit 运行必须满足的条件,否则会报启动失败

    3、service常用的选项

    Type:定义影响ExecStart及相关参数的功能的unit进程启动类型

        simple:默认值,这个daemon主要由ExecStart接的指令串来启动,启动后常驻于内存中

    forking:由ExecStart启动的程序透过spawns延伸出其他子程序来作为此daemon的主要服务。原生父程序在启动结束后就会终止。

    1.  
      oneshot:与simple类似,不过这个程序在工作完毕后就结束了,不会常驻在内存中
    2.  
       
    3.  
      dbus:与simple类似,但这个daemon必须要在取得一个D-Bus的名称后,才会继续运作.因此通常也要同时设定BusNname= 才行
    4.  
       
    5.  
      notify:在启动完成后会发送一个通知消息。还需要配合NotifyAccess 来让 Systemd 接收消息
    6.  
       
    7.  
      idle:与simple类似,要执行这个daemon必须要所有的工作都顺利执行完毕后才会执行。这类的daemon通

    常是开机到最后才执行即可的服务。

    1.  
      EnvironmentFile:环境配置文件
    2.  
       
    3.  
      ExecStart:指明启动unit要运行命令或脚本的绝对路径
    4.  
       
    5.  
      ExecStartPre: ExecStart前运行
    6.  
       
    7.  
      ExecStartPost: ExecStart后运行
    8.  
       
    9.  
      ExecRsload: 重启当前服务时执行的命令
    10.  
       
    11.  
      ExecStopPost:停止当前服务之后执行的命令
    12.  
       
    13.  
      ExecStartSec:自动重启当前服务间隔的秒数
    14.  
       
    15.  
      ExecStop:指明停止unit要运行的命令或脚本
    16.  
       
    17.  
      Restart:当设定Restart=1 时,则当次daemon服务意外终止后,会再次自动启动此服务。
    18.  
       
    19.  
      TimeoutSec:定义 Systemd 停止当前服务之前等待的秒数。
    20.  
       
    21.  
      Environment:指定环境变量。
    4、install 常用选项

    Install段的常用选项:

    Alias:别名,可使用systemctl command Alias.service

    RequiredBy:被哪些units所依赖,强依赖

    WantedBy:被哪些units所依赖,弱依赖

    Also:安装本服务的时候还要安装别的相关服务

    注意:对于新创建的unit文件,或者修改了的unit文件,要通知systemd重载此配置文件,而后可以选择重启。

    1.  
      # systemctl daemon-reload
    2.  
       
    3.  
      # systemctl daemon-reload

    #systemctl restart httpd.service

    更加详细的unit配置文件格式 请参考官方文档

  • 相关阅读:
    Mono项目将继续推动基于Linux的开发
    VS.PHP 在Visual Studio 下的 PHP 开发 IDE 工具
    SQL Server 2008 的代码提示功能
    想做的时候没有机会了
    我的最爱
    双缓冲
    做个好男人!
    再见了,曾经喜欢过的歌手
    看看他是喜欢你还是爱你的~~~
    独家:未来五年程序员应当具备的十项技能
  • 原文地址:https://www.cnblogs.com/zhoading/p/15096223.html
Copyright © 2020-2023  润新知