ansible 之 systemd


systemd

用途:控制遠程主機的 systemd服務

官方文檔

[root@ansible ansible]# ansible-doc systemd
> SYSTEMD    (/usr/lib/python2.7/site-packages/ansible-2.8.0.dev0-py2.7.egg/ansible/modules/sy

        Controls systemd services on remote hosts.

  * This module is maintained by The Ansible Core Team
OPTIONS (= is mandatory):

- daemon_reexec
        run daemon_reexec command before doing any other operations, the
        systemd manager will serialize the manager state.
        (Aliases: daemon-reexec)[Default: no]
        type: bool
        version_added: 2.8

- daemon_reload
        run daemon-reload before doing any other operations, to make sure
        systemd has read any changes.
        (Aliases: daemon-reload)[Default: no]
        type: bool

- enabled
        Whether the service should start on boot. *At least one of state
        and enabled are required.*
        [Default: (null)]
        type: bool

- force
        Whether to override existing symlinks.
        [Default: (null)]
        type: bool
        version_added: 2.6
        

- masked
        Whether the unit should be masked or not, a masked unit is
        impossible to start.
        [Default: (null)]
        type: bool

- name
        Name of the service. When using in a chroot environment you always
        need to specify the full name i.e. (crond.service).
        (Aliases: service, unit)[Default: (null)]

- no_block
        Do not synchronously wait for the requested operation to finish.
        Enqueued job will continue without Ansible blocking on its
        completion.
        [Default: no]
        type: bool
        version_added: 2.3

- scope
        run systemctl within a given service manager scope, either as the
        default system scope (system), the current user's scope (user), or
        the scope of all users (global).
        (Choices: system, user, global)[Default: system]
        version_added: 2.7

- state
        `started'/`stopped' are idempotent actions that will not run
        commands unless necessary. `restarted' will always bounce the
        service. `reloaded' will always reload.
        (Choices: reloaded, restarted, started, stopped)[Default: (null)]

- user
        (deprecated) run ``systemctl`` talking to the service manager of
        the calling user, rather than the service manager of the system.
        This option is deprecated and will eventually be removed in 2.11.
        The ``scope`` option should be used instead.
        [Default: no]
        type: bool


NOTES:
      * Since 2.4, one of the following options is required 'state',
        'enabled', 'masked', 'daemon_reload', and all except
        'daemon_reload' also require 'name'.
      * Before 2.4 you always required 'name'.

REQUIREMENTS:  A system managed by systemd.

AUTHOR: Ansible Core Team
        METADATA:
          status:
          - stableinterface
          supported_by: core
        

EXAMPLES:
- name: Make sure a service is running
  systemd:
    state: started
    name: httpd

- name: stop service cron on debian, if running
  systemd:
    name: cron
    state: stopped

- name: restart service cron on centos, in all cases, also issue daemon-reload to pick up conf
  systemd:
    state: restarted
    daemon_reload: yes
    name: crond

- name: reload service httpd, in all cases
  systemd:
    name: httpd
    state: reloaded

- name: enable service httpd and ensure it is not masked
  systemd:
    name: httpd
    enabled: yes
    masked: no

- name: enable a timer for dnf-automatic
  systemd:
    name: dnf-automatic.timer
    state: started
    enabled: yes

- name: just force systemd to reread configs (2.4 and above)
  systemd:
    daemon_reload: yes

RETURN VALUES:


status:
    description: A dictionary with the key=value pairs returned from `systemctl show`
    returned: success
    type: complex
    contains: {
            "ActiveEnterTimestamp": "Sun 2016-05-15 18:28:49 EDT",
            "ActiveEnterTimestampMonotonic": "8135942",
            "ActiveExitTimestampMonotonic": "0",
            "ActiveState": "active",
            "After": "auditd.service systemd-user-sessions.service time-sync.target systemd-jo
            "AllowIsolate": "no",
            "Before": "shutdown.target multi-user.target",
            "BlockIOAccounting": "no",
            "BlockIOWeight": "1000",
            "CPUAccounting": "no",
            "CPUSchedulingPolicy": "0",
            "CPUSchedulingPriority": "0",
            "CPUSchedulingResetOnFork": "no",
            "CPUShares": "1024",
            "CanIsolate": "no",
            "CanReload": "yes",
            "CanStart": "yes",
            "CanStop": "yes",
            "CapabilityBoundingSet": "18446744073709551615",
            "ConditionResult": "yes",
            "ConditionTimestamp": "Sun 2016-05-15 18:28:49 EDT",
            "ConditionTimestampMonotonic": "7902742",
            "Conflicts": "shutdown.target",
            "ControlGroup": "/system.slice/crond.service",
            "ControlPID": "0",
            "DefaultDependencies": "yes",
            "Delegate": "no",
            "Description": "Command Scheduler",
            "DevicePolicy": "auto",
            "EnvironmentFile": "/etc/sysconfig/crond (ignore_errors=no)",
            "ExecMainCode": "0",
            "ExecMainExitTimestampMonotonic": "0",
            "ExecMainPID": "595",
            "ExecMainStartTimestamp": "Sun 2016-05-15 18:28:49 EDT",
            "ExecMainStartTimestampMonotonic": "8134990",
            "ExecMainStatus": "0",
            "ExecReload": "{ path=/bin/kill ; argv[]=/bin/kill -HUP $MAINPID ; ignore_errors=n
            "ExecStart": "{ path=/usr/sbin/crond ; argv[]=/usr/sbin/crond -n $CRONDARGS ; igno
            "FragmentPath": "/usr/lib/systemd/system/crond.service",
            "GuessMainPID": "yes",
            "IOScheduling": "0",
            "Id": "crond.service",
            "IgnoreOnIsolate": "no",
            "IgnoreOnSnapshot": "no",
            "IgnoreSIGPIPE": "yes",
            "InactiveEnterTimestampMonotonic": "0",
            "InactiveExitTimestamp": "Sun 2016-05-15 18:28:49 EDT",
            "InactiveExitTimestampMonotonic": "8135942",
            "JobTimeoutUSec": "0",
            "KillMode": "process",
            "KillSignal": "15",
            "LimitAS": "18446744073709551615",
            "LimitCORE": "18446744073709551615",
            "LimitCPU": "18446744073709551615",
            "LimitDATA": "18446744073709551615",
            "LimitFSIZE": "18446744073709551615",
            "LimitLOCKS": "18446744073709551615",
            "LimitMEMLOCK": "65536",
            "LimitMSGQUEUE": "819200",
            "LimitNICE": "0",
            "LimitNOFILE": "4096",
            "LimitNPROC": "3902",
            "LimitRSS": "18446744073709551615",
            "LimitRTPRIO": "0",
            "LimitRTTIME": "18446744073709551615",
            "LimitSIGPENDING": "3902",
            "LimitSTACK": "18446744073709551615",
            "LoadState": "loaded",
            "MainPID": "595",
            "MemoryAccounting": "no",
            "MemoryLimit": "18446744073709551615",
            "MountFlags": "0",
            "Names": "crond.service",
            "NeedDaemonReload": "no",
            "Nice": "0",
            "NoNewPrivileges": "no",
            "NonBlocking": "no",
            "NotifyAccess": "none",
            "OOMScoreAdjust": "0",
            "OnFailureIsolate": "no",
            "PermissionsStartOnly": "no",
            "PrivateNetwork": "no",
            "PrivateTmp": "no",
            "RefuseManualStart": "no",
            "RefuseManualStop": "no",
            "RemainAfterExit": "no",
            "Requires": "basic.target",
            "Restart": "no",
            "RestartUSec": "100ms",
            "Result": "success",
            "RootDirectoryStartOnly": "no",
            "SameProcessGroup": "no",
            "SecureBits": "0",
            "SendSIGHUP": "no",
            "SendSIGKILL": "yes",
            "Slice": "system.slice",
            "StandardError": "inherit",
            "StandardInput": "null",
            "StandardOutput": "journal",
            "StartLimitAction": "none",
            "StartLimitBurst": "5",
            "StartLimitInterval": "10000000",
            "StatusErrno": "0",
            "StopWhenUnneeded": "no",
            "SubState": "running",
            "SyslogLevelPrefix": "yes",
            "SyslogPriority": "30",
            "TTYReset": "no",
            "TTYVHangup": "no",
            "TTYVTDisallocate": "no",
            "TimeoutStartUSec": "1min 30s",
            "TimeoutStopUSec": "1min 30s",
            "TimerSlackNSec": "50000",
            "Transient": "no",
            "Type": "simple",
            "UMask": "0022",
            "UnitFileState": "enabled",
            "WantedBy": "multi-user.target",
            "Wants": "system.slice",
            "WatchdogTimestampMonotonic": "0",
            "WatchdogUSec": "0",
        }

參數解釋

  • daemon_reexec
    別名:daemon-reexec
    默認值:no
    類型:bool

  • daemon_reload
    別名:daemon-reload
    默認值:no
    類型:bool

  • enabled
    默認值:null
    類型:bool
    服務是否開機啟動

  • force
    默認值:null
    類型:bool
    是否覆蓋已存在的鏈接

  • masked
    默認值:null
    類型:bool

  • name
    別名:service,unit
    默認值:null

  • no_block

  • scope

  • state

  • user
    已被啟用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM