módulos de conocimiento común ansible Resumen (a)

Todos los módulos pueden utilizar el siguiente comando para ver los parámetros :

ansible-doc -s 模块名  //查询某个模块的参数

ansible-doc -l   //查看所有模块

Un módulo: de de ping
de módulo de ping para detectar si la supervivencia del grupo de acogida, comunicación. El uso de parámetros es un uso relativamente pequeño y común:

ansible test -m ping -uroot
//也可以不用-u指定用户

Módulo II: ir a buscar

Acción: extracción a un archivo de clúster desde un host remoto
mediante el módulo debe especificar los parámetros src y dest :

//拉去远端的fstab文件到本地/tmp下
ansible test -m fetch -a "src=/etc/fstab dest=/tmp/"

Mira los resultados:

192.168.247.180 | SUCCESS => {
    "changed": false, //因为我自己之前拉过,已经存在了,所以不会改变
    "checksum": "b6b5928e637bd4fe64c1c97b0d04e78f8bb5c3f1", 
    "dest": "/tmp/192.168.247.180/etc/fstab", 在/tmp下生成一个主机目录,这样同时拉去多个就不会混淆
    "file": "/etc/fstab", 
    "md5sum": "beb1c2fe999a9d9a6ca3805e22d1253f"//会生成hash值,判断文件有没有改变的依据,如果你改动了文件,hash值不同就会覆盖

Módulo III: copia

Papel: Copia el archivo hosts local al host remoto, y buscar el efecto contrario
parámetros comunes:
src : archivo de origen o directorio
dest : ruta de destino o archivo
Fuerza : sí o no, el sí por defecto. Se indica una cobertura obligatoria
de copia de seguridad : Copia de seguridad. Cuando el archivo host remoto ya existe con el mismo nombre, expresado como una copia de seguridad si la copia de respaldo los primeros sí archivo remoto, y luego. Si no hay ninguna copia de seguridad mediante la copia directa.
propietario : el dueño de la copia en el archivo host remoto o un directorio
de grupo : es un grupo de
la MODO : permiso para pasar después de la última

ansible testA -m copy -a "src=/tmp/ddd.txt dest=/tmp/ backup=yes owner=root group=root mode=0644"

Módulo IV: archivo

Papel: operar con archivos y directorios, como borrar, crear, modificar los permisos.
parámetros comunes:
ruta : el archivo de destino de operar, que también puede ser entendido como dest, los parámetros necesarios.
Estado : especifique qué operaciones del archivo, a menudo tocar, directorio, enlace, duro, ausente.
src : Este parámetro al crear los enlaces duros y blandos apuntan a la necesidad de especificar qué archivo.
Fuerza : parámetros obligatorios, el archivo no existe, se genera, existe cobertura.
propietario : propietario del archivo especificado
grupo es un grupo:
MODO : asignar permisos
Recurse : chmod -R equivalente, de forma recursiva modificar las propiedades de los archivos en el directorio.
Ejemplo:

创建文件
ansible testA -m file -a "path=/tmp/ddd.txt state=touch"
//创建文件,如果存在就会更新时间戳
创建目录
ansible testA -m file -a "path=/tmp state=directory"
给/tmp/a.txt做软链接指向/etc/passwd
ansible testA -m file -a "path=/tmp/a.txt src=/etc/passwd state=link"
硬链接
ansible testA -m file -a "path=/tmp/b.txt src=/etc/passwd state=hard"
删除/tmp/a.txt
ansible testA -m file -a "path=/tmp/a.txt state=absent"
修改文件的属主
ansible testA -m file -a "path=/tmp/aaab.txt owner=mysql"
修改权限
ansible testA -m file -a "path=/tmp/aaab.txt mode=0644"

V Módulo: blockinfile

Papel: añadido, texto actualizado
los parámetros de uso común:
ruta : parámetro debe especificar el archivo a ser operado
del bloque : en este caso es de agregación y de otro contenido operativo específico.
marcador : marcador, para el contenido insertado ansible, habrá dos filas de marcadores, comenzar y terminar respectivamente por encima y por debajo del contenido adicional. Puede personalizar la marca.
Estado : presente y ausente. El valor por defecto es el anterior adicionalmente insertado, que es para eliminar el contenido adicional.
la InsertAfter : poner el texto predeterminado en la superficie final, que especifica una fila se añade en la parte trasera, soporte para expresiones regulares cuando se inserta.
Copia de seguridad : si el primer archivo de copia de seguridad del archivo antes de modificar
el Crear : Cuando el archivo operativo no existe, si se debe crear el archivo correspondiente.
Ejemplo:

追加内容
ansible testA -m blockinfile -a 'path=/tmp/aaab.txt block="systemctl start httpd\nsystemctl stop httpd"'

//查看/tmp/aaab的内容
1111  //这个是插入之前的,下面是插入的内容
# BEGIN ANSIBLE MANAGED BLOCK
systemctl start httpd
systemctl stop httpd
# END ANSIBLE MANAGED BLOCK
不指定state,也可以删除追加的内容,block为空
ansible testA -m blockinfile -a 'path=/tmp/aaab.txt block=""'
自定义标记
ansible testA -m blockinfile -a 'path=/tmp/aaab.txt block="systemctl start httpd\nsystemctl stop httpd" marker="#{mark} service to start"'
//mark是个变量,就是标记中的begin和end

查看文本内容
1111
#BEGIN service to start
systemctl start httpd
systemctl stop httpd
#END service to start
absent删除追加的内容
ansible testA -m blockinfile -a 'path=/tmp/aaab.txt marker="#{mark} service to start" state=absent'
将追加内容放在开头
ansible testA -m blockinfile -a 'path=/tmp/aaab.txt block="2222" marker="#{mark} service to start" insertbefore=BOF'

查看文本内容
#BEGIN service to start
2222
#END service to start
1111

Módulo 6: lineinfile

Rol: asegurar que una línea se especifica en el texto, o para asegurar que elimina del texto, también puede reemplazar el texto de expresiones regulares
ruta : parámetro necesario, especificar los archivos para operar
la línea : el contenido del texto de la operación especificada
expresión regular : el uso de expresiones regulares, cuando al reemplazar varias líneas de texto si el partido es el partido por defecto para reemplazar la última línea, elimine el texto, eliminar toda forma predeterminada para el partido.
Estado : presente por defecto, hay una ausencia de borrado.
backrefs : Cuando se utiliza el tiempo regular, si no se añade ninguna coincidencia con el contenido de texto predeterminado en la superficie final después de su uso este parámetro para sí, no añadida. El argumento no es un grupo de función, cuando sí, la línea puede ser llevada a cabo en referencia a un grupo de expresiones regulares.
InsertAfter : Especifica la posición de insertado, el EOF que muestra el extremo insertado, está dispuesto a ser positivo si se inserta después del positivo.
insertBefore : BOF al frente, creó regular, regular antes de entonces. Los parámetros y por encima de InsertAfter no válido cuando backrefs a sí.
Copia de seguridad : si se debe modificar una copia de seguridad antes de
la Creación : si desea crear no existe
Ejemplo:
crear un experimento de texto en una máquina remota

cat aaab.txt
1111
2222
aaa1
bbb1
确保某一行在文本中,如果存在不做任何操作,不存在则追加在最后面
ansible testA -m lineinfile -a 'path=/tmp/aaab.txt line="1111"'
//1111在文本中,所以文本不会有变化

ansible testA -m lineinfile -a 'path=/tmp/aaab.txt line="3333"'
//文本中没有3333,所以添加在文本的最后一行
替换。将文本中11开头的行替换成change,如果内有则添加到最后
ansible testA -m lineinfile -a 'path=/tmp/aaab.txt regexp="^11" line="change"'
使用backrefs。没有匹配到也不会追加。
ansible testA -m lineinfile -a 'path=/tmp/aaab.txt regexp="^4444" line="test" backrefs=yes'
删除所有change的行
ansible testA -m lineinfile -a 'path=/tmp/aaab.txt line="change" state=absent'
Publicados 132 artículos originales · ganado elogios 38 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/qq_37369726/article/details/104845212
Recomendado
Clasificación