Linux:综合架构批量管理服务(ansible)-- 下

综合架构批量管理服务之--ansible

00. 介绍部分

1) 利用剧本功能简单完成服务一键化部署

2) 主机清单配置

3) 剧本的扩展配置功能

4) 多个剧本如何进行整合

5) 剧本的角色目录???

01. 知识回顾

1) 将所有模块进行了讲解说明

command	模块: 	在远程主机上执行命令操作	默认模块
shell		模块:  	在远程主机上执行命令操作		万能模块
								PS: 有时剧本不能反复执行!!!
script	模块: 	批量执行本地脚本
copy		模块:		用于批量分发传输数据信息
fetch		模块:		用于将远程主机数据进行拉取到本地管理主机
file		模块: 	修改数据属性信息/创建数据信息
yum			模块:		用于安装和卸载软件包
service	模块:		用于管理服务的运行状态
user		模块:		用于批量创建用户并设置密码信息
mount		模块:		用于批量挂载操作
cron		模块: 	批量部署定时任务信息
ping		模块:		远程管理测试模块
  			ansible 172.16.1.31 -m ping

2) ansible服务剧本功能

剧本的组成部分:

剧本的语法规范:

  1. 空格规范: 实现缩进功能
  2. 冒号规范: 实现键值定义
  3. 横线规范: 实现列表显示

02. 利用剧本完成服务一键化部署-rsync:

rsync 服务部署

nfs 服务部署

sersync 服务部署

全网备份项目之-rsync

rsync服务剧本编写:

准备工作:

  1. 熟悉软件部署流程
  2. 熟悉ansible软件模块使用
  3. 熟悉ansible剧本编写规范

    ansible:

    ad-hoc临时实现批量管理功能(模块)--- 命令

    playbook 永久实现批量管理功能(剧本)--- 脚本

[[email protected] ansible-playbook]# cat rsync_server.yaml
- hosts: rsync_server
  tasks:
- name: 01-install rsync
  yum: name=rsync state=installed
- name: 02-push conf file
  copy: src=/etc/ansible/server_file/rsync_server/rsyncd.conf dest=/etc/
- name: 03-create user
  user: name=rsync create_home=no shell=/sbin/nologin
  #shell: useradd rsync -M -s /sbin/nologin --shell在剧本中不能反复执行,rsync用户存在时会报错
- name: 04-create backup dir
  file: path=/backup state=directory owner=rsync group=rsync
- name: 05-create password file
  copy: content=rsync_backup:oldboy123 dest=/etc/rsync.password mode=600
- name: 06-start rsync server
  service: name=rsyncd state=started enabled=yes

- hosts: rsync_clients
  tasks:
- name: 01-install rsync
  yum: name=rsync state=installed
- name: 02-create password file
  copy: content=oldboy123 dest=/etc/rsync.password mode=600
- name: 03-create test file
  file: dest=/tmp/test.txt  state=touch
- name: 04-check test
  shell: rsync -avz /tmp/test.txt [email protected]::backup --password-file=/etc/rsync.password

剧本编写常见错误:

剧本语法规范是否符合(空格 冒号 短横线)

剧本中模块使用是否正确

剧本中一个name标识下面只能写一个模块任务信息

剧本中尽量不要大量使用shell模块

03. 如何配置主机清单

主机清单的配置方法官方地址:

https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html

说明:/etc/ansible/hosts文件中[]表示[组名],方便批量使用主机ip地址的标签

最初的配置只有主机ip地址

cat /etc/ansible/hosts
172.16.1.31
172.16.1.41
172.16.1.7

调用方式:

ansible all -a "hostname"
或者
ansible 172.16.1.31,172.16.1.41 -a "hostname"

第一种方式: 分组配置主机信息

cat /etc/ansible/hosts
[web]
172.16.1.7
172.16.1.8
172.16.1.9

[data]
172.16.1.31
172.16.1.41

操作过程

[[email protected] ansible-playbook]# ansible data -a "hostname"
172.16.1.31 | CHANGED | rc=0 >>
nfs01

172.16.1.41 | CHANGED | rc=0 >>
backup

[[email protected] ansible-playbook]# ansible web -a "hostname"
172.16.1.7 | CHANGED | rc=0 >>
web01

第二种方式: 主机名符号匹配配置

[web]
172.16.1.[7:9]   ---表示7-9共3台主机
[web]
web[01:03]       ---表示1-3共3台主机,但前提条件是/etc/hosts中已经配置好地址解析

第三种方式: 跟上非标准远程端口

[web]
web01:52113 或
172.16.1.7:52113
操作命令:ansible web01 -a "hostname"

第四种方式: 主机使用特殊的变量

此种设置方式可以不提前分发ssh公钥即可使用

[web]   ---方法一
172.16.1.7 ansible_ssh_port=52113 ansible_ssh_user=root ansible_ssh_pass=123456
[web]   ---方法二
web01 ansible_ssh_host=172.16.1.7 ansible_ssh_port=52113 ansible_ssh_user=root ansible_ssh_pass=123456

第五种方式: 主机组名嵌入配置

[rsync:children]--- 嵌入子组信息,rsync包含rsync_server组合rsync_client组,需要使用参数children
rsync_server
rsync_client

[rsync_server]
172.16.1.41

[rsync_client]
172.16.1.31
172.16.1.7

下面的嵌入式变量方式配置主机,此种方式了解即可,后续其他地方会有用

[web:vars] --- 嵌入式变量信息
ansible_ssh_host=172.16.1.7
ansible_ssh_port=52113
ansible_ssh_user=root
ansible_ssh_pass=123456
[web]
web01

### 组web中web01主机会调用web:vars的变量值,功能同上述第四种方式方法二

04. 剧本的扩展功能配置

针对剧本/etc/ansible/ansible_playbook/rsync_server.yaml做变量信息优化

cp rsync_server.yaml rsync_server_varinfo.yaml

a.在剧本中设置变量信息

方式一:直接在剧本文件中编写

vars:

oldboy01: data01

oldboy02: data02

注意变量引用:使用 {{ 变量 }}

使用方法:

[[email protected] ansible-playbook]# cat rsync_server_varinfo.yaml
- hosts: rsync_server
  vars:
    backupdir: /data
    passfile: rsync-password
  tasks:
    - name: 01-install rsync
      yum: name=rsync state=installed
    - name: 02-push conf file
      copy: src=/etc/ansible/server_file/rsync_server/rsyncd.conf dest=/etc/
    - name: 03-create user
      user: name=rsync create_home=no shell=/sbin/nologin
      #shell: useradd rsync -M -s /sbin/nologin
    - name: 04-create backup dir
      file: path={{ backupdir }} state=directory owner=rsync group=rsync
    - name: 05-create password file
      copy: content=rsync_backup:oldboy123 dest=/etc/{{ passfile }} mode=600
    - name: 06-start rsync server
      service: name=rsyncd state=started enabled=yes

- hosts: rsync_clients
  vars:
    passfile: rsync-password
  tasks:
    - name: 01-install rsync
      yum: name=rsync state=installed
    - name: 02-push conf file
      copy: src=/etc/ansible/server_file/rsync_server/rsyncd.conf dest=/etc/
    - name: 03-create password file
      copy: content=oldboy123 dest=/etc/{{ passfile }} owner=root group=root mode=600
    - name: 04-start rsyncd server,set enabled.
      service: name=rsyncd state=started enabled=yes
    - name: 05-create test file
      file: dest=/tmp/test.txt state=touch
    - name: 06-check test data backup
      shell: rsync -avz /tmp/test.txt [email protected]::data --password-file=/etc/{{ passfile }}

方式二:在命令行中进行指定

ansible-playbook --extra-vars=oldboy01=data01
使用方法:可将上述变量定义部分注释掉,但剩下变量引用,这时引用的变量为临时变量,需要从命令行获取值
参数 --extra-vars 可用短格式 -e
[[email protected] ansible-playbook]# cat rsync_server_varinfo.yaml
- hosts: rsync_server
 #vars:
 #   backupdir: /data
 #   passfile: rsync-password
  tasks:
 ...
 - hosts: rsync_clients
 # vars:
 #   passfile: rsync-password
  tasks:
  ...
命令执行前可先删除对应目录和密码文件再进行测试
[[email protected] ansible-playbook]# ansible-playbook --extra-var backupdir=/data -e passfile=/etc/rsync-password

方式三:在主机清单文件中编写

[oldboy]

oldboy01=data01

oldboy02=data02

## 配置信息vars部分
[[email protected] ansible-playbook]# cat /etc/ansible/hosts
[rsync:children]
rsync_server
rsync_clients

[rsync_server]
172.16.1.41
[rsync_server:vars]
backupdir=/data
passfile=rsync-password

[rsync_clients]
172.16.1.7
172.16.1.31
[rsync_clients:vars]
passfile=rsync-password

##执行
[[email protected] ansible-playbook]# ansible-playbook rsync_server_varinfo.yaml 

注意问题:如果三种方式中都配置了,三种方式的有效优先级为:

最优先:命令行变量设置 (很少使用)

次优先:剧本中变量设置 (使用最多)

最后:主机清单变量设置 (使用次多)

可通过三种方式都配置不同变量进行测试优先级

##剧本中:
backupdir=/data01
passfile=/rsync-password01
##主机清单文件中:
backupdir=/data03
passfile=/rsync-password03

##命令行执行:--检测出/data02文件夹生成,命令行设置最优先
[[email protected] ansible-playbook]#ansible-playbook --extra-var backupdir=/data02 -e passfile=/etc/rsync-password02 rsync_server_varinfo.yaml 

##命令行执行:--检测出/data01文件夹生成,剧本中变量设置次优先
[[email protected] ansible-playbook]#ansible-playbook  rsync_server_varinfo.yaml 

##注释掉剧本中变量设置后,命令行执行:--检测出/data03文件夹生成,主机清单中变量设置最后
[[email protected] ansible-playbook]#ansible-playbook  rsync_server_varinfo.yaml 

拓展思考:如何全局设置变量(在roles,剧本整合部分介绍)

b.在剧本中设置注册信息

说明:注册信息功能相当于定义一个变量,然后调用变量

比如在检查是否安装了rsync服务时,可通过查看端口,但是ansible的shell模块只提示ok,并不显示具体端口信息,这时就能使用注册功能,显示脚本执行的信息

使用方法:

cd /etc/ansible/ansible-playbook/
cp rsync_server.yaml rsync_server_reginfo.yaml
cat rsync_server_reginfo.yaml
- hosts: rsync_server
  tasks:
    - name: 01-install rsync
      yum: name=rsync state=installed
    - name: 02-push conf file
      copy: src=/etc/ansible/server_file/rsync_server/rsyncd.conf dest=/etc/
    - name: 03-create user
      user: name=rsync create_home=no shell=/sbin/nologin
      #shell: useradd rsync -M -s /sbin/nologin
    - name: 04-create backup dir
      file: path=/backup state=directory owner=rsync group=rsync
    - name: 05-create password file
      copy: content=rsync_backup:oldboy123 dest=/etc/rsync.password mode=600
    - name: 06-start rsync server
      service: name=rsyncd state=started enabled=yes
## 以下部分为register info
    - name: 07-check server port info
      shell: netstat -lntup|grep 873        ---端口信息
      register: get_server_port             ---定义保存端口信息的变量
    - name display port name
      debug: msg={{ get_server_port.stdout_lines }}   ---debug调用变量输出信息,stdout_lines是标准输出格式显示的作用

## 执行结果
[[email protected] ansible-playbook]# ansible-playbook rsync_server_reginfo.yaml
...
TASK [07-check server port info] ****************************************************************************************
changed: [172.16.1.41]

TASK [display port name] ************************************************************************************************
ok: [172.16.1.41] => {
    "msg": [
        "tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      936/rsync           ",
        "tcp6       0      0 :::873                  :::*                    LISTEN      936/rsync           "
    ]
}

c.在剧本中设置判断信息

如何指定判断条件:

(ansible_hostname == "nfs")

setup模块中显示被管理主机系统的详细信息

获取内置变量方法:

ansible rsync_server -m setup -a "filter=ansible_hostname"   -- ansible_hostname变量由setup模块提供
常见主机信息:
ansible_all_ipv4_addresses 			--显示ipv4信息
ansible_devices									--仅显示磁盘信息
ansible_distribution						--显示是什么系统,例如:centos,suse等
ansible_distribution_major_version --显示系统主版本
ansible_distribution_version		--显示系统版本
ansible_machine									--显示系统类型,32位,64位
ansible_eth0										--仅显示eth0的信息
ansible_hostname								--显示主机名
ansible_kernel									--显示内核版本
ansible_lvm											--显示lvm相关信息
ansible_memtotal_mb							--显示系统总内存
ansible_memfree_mb							--显示系统可用内存
ansible_swaptotal_mb						--显示总的swap内存
ansible_swapfree_mb							--显示swap内存的可用内存
ansible_mounts									--显示磁盘系统挂在情况
ansible_processor								--显示CPU的个数(具体显示每个CPU的型号)
ansible_vcpus	p	p								--显示总哦的CPU个数(只显示个数)

获取子项信息的方法:只获取eth0中的ipv4信息,但只有在脚本中才能起作用,在命令行不生效

ansible rsync_server -m setup -a "filter=ansible_eth0[ipv4]"

使用方法:

[[email protected] ansible-playbook]# cp rsync_server.yaml rsync_server_when.yaml
[[email protected] ansible-playbook]# cat rsync_server_when.yaml
- hosts: rsync_server
  tasks:
    - name: 01-install rsync
      yum: name=rsync state=installed
    - name: 02-push conf file
      copy: src=/etc/ansible/server_file/rsync_server/rsyncd.conf dest=/etc/
    - name: 03-create user
      user: name=rsync create_home=no shell=/sbin/nologin
      #shell: useradd rsync -M -s /sbin/nologin
    - name: 04-create backup dir
      file: path=/backup state=directory owner=rsync group=rsync
    - name: 05-create password file
      copy: content=rsync_backup:oldboy123 dest=/etc/rsync.password mode=600
    - name: 06-start rsync server
      service: name=rsyncd state=started enabled=yes

- hosts: rsync_clients
  tasks:
    - name: 01-install rsync
      yum: name=rsync state=installed
    - name: 02-push conf file
      copy: src=/etc/ansible/server_file/rsync_server/rsyncd.conf dest=/etc/
    - name: 03-create password file
      copy: content=oldboy123 dest=/etc/rsync.password owner=root group=root mode=600
    - name: 04-start rsyncd server,set enabled.
      service: name=rsyncd state=started enabled=yes
    - name: 05-create test_nfs file
      file: dest=/tmp/test_nfs.txt state=touch
      when: (ansible_hostname == "nfs01")				##上一行执行的判断条件,ansible_hostname由setup模块提供
    - name: 05-create test_web file
      file: dest=/tmp/test_web.txt state=touch
      when: (ansible_hostname == "web01")				##上一行执行的判断条件
    - name: 06-check test nfs data backup
      shell: rsync -avz /tmp/test_nfs.txt [email protected]::backup --password-file=/etc/rsync.password
      when: (ansible_hostname == "nfs01")				##上一行执行的判断条件
    - name: 07-check test web data backup
      shell: rsync -avz /tmp/test_web.txt [email protected]::web --password-file=/etc/rsync.password
      when: (ansible_hostname == "web01")				##上一行执行的判断条件
## 注意在/etc/ansible/server_file/rsync_server/rsyncd.conf中增加web模块,并在41上增加对应目录,修改数组为chown rsync.rsync /web
[[email protected] ansible-playbook]# ansible-playbook rsync_server_when.yaml 

d.在剧本中设置循环信息

循环的功能:yaml文件中有相同的模块时,使用循环进行合并

cd /etc/ansible/ansible-playbook/ && cp rsync_server.yaml rsync_server_loop.yaml

模块内定义变量,使用with_items赋值调用

#循环结束 BEGIN
- name: 02-push conf file && password file
copy: src=/etc/ansible/server_file/rsync_server/{{ item.src }} dest={{ item.dest }} mode={{ item.mode }}  ##定义copy模块变量src,dest,mode
with_items:		##变量赋值并引用
  - { src: ‘rsyncd.conf‘, dest: ‘/etc/‘, mode: ‘644‘ }
  - { src: ‘rsync.password‘, dest: ‘/etc/‘, mode: ‘600‘ }
# 循环结束 END

使用方法:

[[email protected] ansible-playbook]# cat rsync_server_loop.yaml
- hosts: rsync_server
  tasks:
    - name: 01-install rsync
      yum: name=rsync state=installed
    # 循环开始BEGIN
    # 同一个name中有多个不同模块时直接报错,相同模块时会出现警告,只执行最后一个模块,此时使用循环功能
    #- name: 02-push conf file && password file
    #  copy: src=/etc/ansible/server_file/rsync_server/rsyncd.conf dest=/etc/
    #  copy: content=rsync_backup:oldboy123 dest=/etc/rsync.password mode=600
    #  将上述copy内容修改为格式大致相同
    #  copy: src=/etc/ansible/server_file/rsync_server/rsyncd.conf    dest=/etc/ mode=644
    #  copy: src=/etc/ansible/server_file/rsync_server/rsync.password dest=/etc/ mode=600
    - name: 02-push conf file && password file
      copy: src=/etc/ansible/server_file/rsync_server/{{ item.src }} dest={{ item.dest }} mode={{ item.mode }}  ##定义copy模块变量src,dest,mode
      with_items:		##变量赋值并引用
        - { src: ‘rsyncd.conf‘, dest: ‘/etc/‘, mode: ‘644‘ }
        - { src: ‘rsync.password‘, dest: ‘/etc/‘, mode: ‘600‘ }
    # 循环结束 END
    - name: 03-create user
      user: name=rsync create_home=no shell=/sbin/nologin
      #shell: useradd rsync -M -s /sbin/nologin
    - name: 04-create backup dir
      file: path=/backup state=directory owner=rsync group=rsync
    #copy 模块放到上面的copy模块部分
    #- name: 05-create password file
    #  copy: content=rsync_backup:oldboy123 dest=/etc/rsync.password mode=600
    - name: 06-start rsync server
      service: name=rsyncd state=started enabled=yes

- hosts: rsync_client
  tasks:
    - name: 01-install rsync
      yum: name=rsync state=installed
    - name: 02-push conf file
      copy: src=/etc/ansible/server_file/rsync_server/rsyncd.conf dest=/etc/
    - name: 03-create password file
      copy: content=oldboy123 dest=/etc/rsync.password owner=root group=root mode=600
    - name: 04-start rsyncd server,set enabled.
      service: name=rsyncd state=started enabled=yes
    - name: 05-create test file
      file: dest=/tmp/test.txt state=touch
    - name: 06-check test data backup
      shell: rsync -avz /tmp/test.txt [email protected]::backup --password-file=/etc/rsync.password
[[email protected] ansible-playbook]# ansible-playbook rsync_server_loop.yaml
...

ansible格式编写:

- name: install software
  yum: name=wget state=installed

saltstack格式编写:

- name: install software
  yum:
    name: [‘rsync‘,‘tree‘,‘wget‘]
    state: installed

e.在剧本中设置错误忽略

功能:

在剧本中,前面部分出现错误时,剧本不再往下执行

若想继续往后执行,需要忽略当前错误,此时即可使用设置错误忽略功能

可以加入ignore_errors: yes 忽略错误

使用方法:

- hosts: all
  remote_user: root
  tasks:
    - name: Ignore False
      command: /bin/false
      ignore_errors: yes
    - name: touch nowfile
      file: path=/tmp/moox_ignore state=touch

f.在剧本中设置标签信息

功能:

在剧本中,若只想执行某个模块,或者跳过某个某块时,可以给该模块设置标签

可以加入tags: tag1 指定模块

执行时使用参数-t--tags=tag1 指定标签,

指定执行哪个标签任务:ansible-playbook --tags=tag1 test_tags.yaml

跳过指定标签执行任务:ansible-playbook --skip-tags=tag1 test_tags.yaml

使用方法:

- hosts: all
  remote_user: root
  tasks:
    - name: Ignore False
      command: /bin/false
      tags: tag1
    - name: touch nowfile
      file: path=/tmp/moox_ignore state=touch

g.在剧本中设置触发信息

h.在剧本中设置剧本整合

05. 知识总结

  1. rsync服务一键化部署剧本
  2. 主机清单编写方法

    5种方式

  3. 剧本的扩展编写方法

    如何设置变量信息 3种

    如何设置注册信息 debug

    如何设置判断信息 setup

作业:

  1. 一键化部署全网备份项目
  2. 一键化部署NFS服务
  3. 一键化部署实时同步服务

原文地址:https://www.cnblogs.com/moox/p/12649976.html

时间: 2024-10-13 23:48:51

Linux:综合架构批量管理服务(ansible)-- 下的相关文章

Linux:综合架构批量管理服务(ansible)-- 扩展功能补充

ansible剧本功能实践介绍 00. 编写剧本的重要功能介绍 a 在剧本中设置变量信息 OK b 在剧本中设置注册信息 OK 执行剧本时,可以显示输出命令结果信息 b 在剧本中设置判断信息 OK c 在剧本中设置循环信息 d 在剧本中设置错误忽略 d 在剧本中设置标签信息 e 在剧本中设置触发信息 f 在剧本中进行剧本整合 01. 在剧本中设置变量信息 方式一:直接在剧本文件编写 vars: oldboy01: data01 oldboy02: data02 方式二:在命令行中进行指定 ans

免密码交互方式+ansible批量管理服务介绍

介绍了ssh服务 1) 远程连接加密传输数据协议,实现远程连接登录,默认端口222)ssh远程连接原理依赖于锁头(公钥)和钥匙(私钥),实现远程加密连接3)ssh基于秘钥远程登录原理a 管理服务器创建秘钥対,将公钥传输发送给给管理端b 管理端请求与被管理端建立连接c 被管理向管理端发送公钥质询d 管理端处理质询信息,实现管理与被管理端免密码交互4)基于ssh协议相关命令ssh scp sftp netstat -lntup |egrep sshd 查看ssh端口 1.1 部署ssh+key (免

ansible批量管理服务详解

在开始之前我们先试想一个场景,你的公司有成百上千台的服务器,这时候领导要求在所有服务器上都添加一个定时任务,或者是执行某个命令,你可能会说用xshell一个一个去连或者是编写一个shell脚本,但是如果过你经历过类似的事情,你一定可以体会到其中的痛苦,因为这么多服务器你用xshell去连的话工作量将变得特别大,但如果你是选择写一个脚本的话也会特别的麻烦,因为每执行一个不同的东西你就要去修改脚本的类容,而且批量脚本一般采用循环的方式去执行一些任务,如果节点太多的话,执行的效率会变得比较低,而批量管

Linux(11):期中架构(3)--- SSH远程管理服务 & ansible 批量管理服务

SSH远程管理服务 1. 远程管理服务知识介绍 # 1.1 SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Working Group)制定: 在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输.确保了传递的数据安全. SSH是专为远程登录会话和其他网络服务提供的安全性协议. 利用SSH协议可以有效的防止远程管理过程中的信息泄露问题,在当前的生产环境运维工作中, 绝大多数企业普遍

Linux批量管理神器 ansible部署

第一个历程 安装软件安装依赖关系包yum install python-dev python-yamlpython-paramiko python-jinja2 git 确保无误,使用yum安装absibleyum install ansible第二个历程 配置文件ansbible配置文件 安装后的配置文件位于/etc/ansible 第三个历程 cat >/etc/ansible/hosts <<EF[web]172.16.1.7172.16.1.8172.16.1.9EF 第四个历程

深入Linux内核架构——进程管理和调度(上)

如果系统只有一个处理器,那么给定时刻只有一个程序可以运行.在多处理器系统中,真正并行运行的进程数目取决于物理CPU的数目.内核和处理器建立了多任务的错觉,是通过以很短的间隔在系统运行的应用程序之间不停切换做到的.由此,以下两个问题必须由内核解决:除非明确要求,否则应用程序不能彼此干扰:CPU时间必须在各种应用程序之间尽可能公平共享(一些程序可能比其他程序更重要).本篇博文主要涉及内核共享CPU时间的方法以及如何在进程之间切换(内核为各进程分配时间,保证切换之后从上次撤销其资源时执行环境完全相同)

Linux的程序包管理器(下)——编译安装

前面介绍了rpm和yum包管理器的用法,但有的时候一些程序仅提供了源代码比,需要我们自己编译安装.源代码之间是不会放在一个文件中,而他们直接又存在着各种各样的依赖性关系.因此需要一个源代码构建工具对源代码进行组织,和几个开发包组专门解决依赖性关系. Linux当中autoconf工具可以自动生成一个configure脚本,此脚本能检查当前系统上编译环境是否能满足当前程序的编译需要:同时,还能确定后续的编译工作所期望编译进程序中的特性.而我们从源代码网站下载下来的源代码通常都会提供configur

Linux - 利用systemctl命令管理服务

systemctl命令是系统服务管理器指令,融合了service和chkconfig的功能,可以查看和设置服务. 这里以docker服务为例. 利用systemctl命令管理 显示服务状态:systemctl status docker.service 列出服务层级和依赖关系:systemctl list-dependencies docker.service 启动服务:systemctl start docker.service 关闭服务:systemctl stop docker.servi

Linux中用systemctl命令管理服务

systemctl start foo.service 启动服务systemctl restart foo.service 重启服务systemctl stop foo.service 停止服务systemctl reload foo.service 重新加载配置文件(不终止服务)systemctl status foo.service 查看服务状态 systemctl enable foo.service 开机自启动systemctl disable foo.service 开机不自启动sys