Guide de commande Ad-hoc Ansible avec exemples

Les commandes ad hoc sont utilisées dans Ansible pour exécuter des tâches instantanément, et vous n’avez pas besoin de les enregistrer pour une utilisation ultérieure. Cet article concerne la commande Ad-hoc Ansible.


Il y a plusieurs tâches dans Ansible où vous n’avez pas besoin d’écrire un playbook Ansible séparé pour celui-ci; vous pouvez simplement exécuter une commande ad-hoc ansible pour cette tâche. Il s’agit d’une commande à une ligne pour effectuer une seule tâche sur l’hôte cible. Ces commandes sont présentes dans / usr / bin / ansible

Des tâches comme envoyer un ping à tous les hôtes pour vérifier s’ils sont en cours d’exécution, copier un fichier, redémarrer les serveurs, installer un package peuvent être facilement effectuées via les commandes ad hoc d’Ansible. Voici une liste des commandes Ansible Ad-hoc fondamentales que vous devez connaître.

Commandes de base

La commande ad-hoc ci-dessous exécute un module ping sur tous les hôtes du fichier d’inventaire. Ici -m est l’option pour un module.

[protégé par e-mail]: / home / geekflare # ansible tout -m ping
node1 | SUCCÈS => {
"ansible_facts": {
"discovery_interpreter_python": "/ usr / bin / python"
},
"modifié": faux,
"ping": "pong"
}

La commande mentionnée ci-dessous exécute le module d’installation sur un groupe d’hôtes – Client présent dans le fichier d’inventaire ‘/ etc / ansible / hosts’.

[protégé par e-mail]: / home / geekflare # ansible Client -m setup -a "filter = ansible_distribution *"
node1 | SUCCÈS => {
"ansible_facts": {
"ansible_distribution": "Ubuntu",
"ansible_distribution_file_parsed": vrai,
"ansible_distribution_file_path": "/ etc / os-release",
"ansible_distribution_file_variety": "Debian",
"ansible_distribution_major_version": "18",
"ansible_distribution_release": "cosmique",
"ansible_distribution_version": "18.10",
"discovery_interpreter_python": "/ usr / bin / python"
},
"modifié": faux
}

La commande ci-dessous est utilisée pour demander l’authentification par mot de passe SSH. Vous devez ajouter l’option –ask-pass à la fin de la commande. Après avoir exécuté la commande, il vous demandera d’entrer le mot de passe SSH.

[protégé par e-mail]: / home / geekflare # ansible Client -m ping –ask-pass
Mot de passe SSH:
node1 | SUCCÈS => {
"ansible_facts": {
"discovery_interpreter_python": "/ usr / bin / python"
},
"modifié": faux,
"ping": "pong"
}

La commande ci-dessous vous donne la possibilité d’exécuter des commandes ad hoc en tant qu’utilisateur non root avec des privilèges root. L’option –become donne les privilèges root et l’option -K demande le mot de passe.

[protégé par e-mail]: / home / geekflare # ansible Client -m shell -a ‘fdisk -l’ -u geekflare –become -K
DEVENIR mot de passe:
node1 | MODIFIÉ | rc = 0 >>
Disque / dev / boucle0: 14,5 Mio, 15208448 octets, 29704 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique / physique): 512 octets / 512 octets
Taille d’E / S (minimum / optimal): 512 octets / 512 octets

Disque / dev / loop2: 42,1 Mio, 44183552 octets, 86296 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique / physique): 512 octets / 512 octets
Taille d’E / S (minimum / optimal): 512 octets / 512 octets

Disque / dev / loop3: 149,9 Mio, 157184000 octets, 307000 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique / physique): 512 octets / 512 octets
Taille d’E / S (minimum / optimal): 512 octets / 512 octets

Disque / dev / boucle5: 140,7 Mio, 147501056 octets, 288088 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique / physique): 512 octets / 512 octets
Taille d’E / S (minimum / optimal): 512 octets / 512 octets

Disque / dev / loop6: 151,2 Mio, 158584832 octets, 309736 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique / physique): 512 octets / 512 octets
Taille d’E / S (minimum / optimal): 512 octets / 512 octets

Disque / dev / loop7: 14,8 Mio, 15458304 octets, 30192 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique / physique): 512 octets / 512 octets
Taille d’E / S (minimum / optimal): 512 octets / 512 octets

Disque / dev / sda: 500 Gio, 536870912000 octets, 1048576000 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique / physique): 512 octets / 512 octets
Taille d’E / S (minimum / optimal): 512 octets / 512 octets
Type d’étiquette de disque: dos
Identificateur de disque: 0xcef957f5

Secteurs de début de démarrage de périphérique Taille Type d’ID
/ dev / sda1 2048 462639103 462637056 220.6G 83 Linux
/ dev / sda2 * 462639104 464592895 1953792 954M 83 Linux
/ dev / sda3 464592896 482168831 17575936 8.4G 82 Linux swap / Solaris
/ dev / sda4 482168832 1048573951 566405120 270.1G 83 Linux

Disque / dev / boucle8: 4 Mio, 4218880 octets, 8240 secteurs
Unités: secteurs de 1 * 512 = 512 octets
Taille du secteur (logique / physique): 512 octets / 512 octets
Taille d’E / S (minimum / optimal): 512 octets / 512 octets

Cette commande ad-hoc est utilisée pour redémarrer le système avec l’option -f pour définir le nombre de fourches.

[protégé par e-mail]: / home / geekflare # ansible Client -a "/ sbin / reboot" -f 1

Transfert de fichier

La commande ansible ad-hoc ci-dessous permet de copier un fichier d’une source vers une destination pour un groupe d’hôtes (Client) défini dans le fichier d’inventaire. Après avoir entré le mot de passe, la sortie avec le paramètre «change» sera «true», ce qui signifie que le fichier a été copié vers la destination.

[protégé par e-mail]: / home / geekflare # ansible Client -m copy -a ‘src = / home / geekflare / nginx.yml dest = / home / geekflare / Desktop / owner = root mode = 0644’ -u root –become -K
DEVENIR mot de passe:
node1 | MODIFIÉ => {
"ansible_facts": {
"discovery_interpreter_python": "/ usr / bin / python"
},
"modifié": vrai,
"somme de contrôle": "5631822866afd5f19b928edb3ba018385df22dd3",
"dest": "/home/geekflare/Desktop/nginx.yml",
"gid": 0,
"groupe": "racine",
"md5sum": "0d6ffe1069fc25ad4f8ad700277c4634",
"mode": "0644",
"propriétaire": "racine",
"Taille": 280,
"src": "/root/.ansible/tmp/ansible-tmp-1562253463.3-214622150088155/source",
"Etat": "fichier",
"uid": 0
}

Exécutez la commande ci-dessous pour vérifier si le module de copie a fonctionné correctement ou non. Le fichier copié doit arriver à la destination mentionnée dans la commande précédente.

[protégé par e-mail]: / home / geekflare # ls Desktop /

nginx.yml

Je crée un nouveau répertoire pour exécuter le module fetch n prochaine commande ad-hoc.

[protégé par e-mail]: / home / exemple geekflare # mkdir

[protégé par e-mail]: / home / geekflare # ls

Exemples de documents de bureau examples.desktop nginx_new.yml nginx.yml

La commande ad-hoc ansible ci-dessous est utilisée pour télécharger un fichier à partir d’un hôte défini dans la commande. Dans cette commande, nous téléchargeons un fichier à l’aide du module d’extraction du serveur node1 vers une destination locale sur le nœud ansible.

[protégé par e-mail]: / home / geekflare # ansible node1 -m fetch -a ‘src = / etc / sudoers.d / nginx.yml dest = / home / geekflare / example / flat = yes’

node1 | SUCCÈS => {

"modifié": faux,

"somme de contrôle": "5631822866afd5f19b928edb3ba018385df22dd3",

"dest": "/home/geekflare/example/nginx.yml",

"fichier": "/etc/sudoers.d/nginx.yml",

"md5sum": "0d6ffe1069fc25ad4f8ad700277c4634"

}

Vérifiez si le fichier a été téléchargé ou non à la destination mentionnée dans la commande.

[protégé par e-mail]: Exemple / home / geekflare # ls

nginx.yml

Gérer les packages

La commande mentionnée ci-dessous installe nginx sur un groupe d’hôtes (Client) mentionné en utilisant un module apt.

[protégé par e-mail]: / home / geekflare # ansible Client -m apt -a ‘name = nginx state = latest’ –become

node1 | SUCCÈS => {

"ansible_facts": {

"discovery_interpreter_python": "/ usr / bin / python"

},

"cache_update_time": 1562411227,

"cache_updated": faux,

"modifié": faux

}

La commande mentionnée ci-dessous supprime nginx sur un groupe d’hôtes (client) à l’aide du module apt et purge toutes les configurations associées.

[protégé par e-mail]: / home / geekflare # ansible Client -m apt -a ‘name = nginx state = absent purge = yes’ –become

node1 | MODIFIÉ => {

"ansible_facts": {

"discovery_interpreter_python": "/ usr / bin / python"

},

"modifié": vrai,

"stderr": "",

"stderr_lines": [],

"stdout": "Lecture des listes de packages … \ nBâtiment de l’arborescence des dépendances … \ nLecture des informations d’état … \ nLes packages suivants ont été installés automatiquement et ne sont plus nécessaires: \ n libnginx-mod-http-geoip libnginx-mod-http-image- filtre \ n libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream \ n nginx-common nginx-core \ nUtilisez ‘sudo apt autoremove’ pour les supprimer. \ nLes packages suivants seront SUPPRIMÉS: \ n nginx * \ n0 mis à niveau, 0 nouvellement installé, 1 à supprimer et 241 non mis à niveau. \ nAprès cette opération, 44,0 Ko d’espace disque seront libérés. \ n (Lecture de la base de données … \ r (Lecture de la base de données … 5% \ r (Lecture de la base de données … 10% \ r (Lecture de la base de données … 15% \ r (Lecture de la base de données … 20% \ r (Lecture de la base de données … 25% \ r (Lecture de la base de données … 30%) \ r (Lecture de la base de données … 35% \ r (Lecture de la base de données … 40% \ r (Lecture de la base de données … 45% \ r (Lecture de la base de données … 50% \ r (Lecture de la base de données … 55%) \ r (Lecture de la base de données … 60% \ r (Lecture de la base de données … 65% \ r (Lecture de la base de données … 70% \ r (Lecture de la base de données … 75% \ r (Lecture de la base de données … 80%) \ r (Readi ng base de données … 85% \ r (lecture de la base de données … 90% \ r (lecture de la base de données … 95% \ r (lecture de la base de données … 100% \ r (lecture de la base de données … 180191 fichiers et répertoires actuellement installé.) \ r \ nSuppression de nginx (1.15.5-0ubuntu2.1) … \ r \ n",

"stdout_lines": [

"Lecture des listes de packages…",

"Construction d’un arbre de dépendance…",

"Lecture des informations d’état…",

"Les packages suivants ont été installés automatiquement et ne sont plus nécessaires:",

"  libnginx-mod-http-geoip libnginx-mod-http-image-filter",

"  libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream",

"  nginx-commun nginx-core",

"Utilisez «sudo apt autoremove» pour les supprimer.",

"Les packages suivants seront SUPPRIMÉS:",

"  nginx *",

"0 mis à niveau, 0 nouvellement installé, 1 à supprimer et 241 non mis à niveau.",

"Après cette opération, 44,0 Ko d’espace disque seront libérés.",

"(Lecture de la base de données … ",

"(Lecture de la base de données … 5%",

"(Lecture de la base de données … 10%",

"(Lecture de la base de données … 15%",

"(Lecture de la base de données … 20%",

"(Lecture de la base de données … 25%",

"(Lecture de la base de données … 30%",

"(Lecture de la base de données … 35%",

"(Lecture de la base de données … 40%",

"(Lecture de la base de données … 45%",

"(Lecture de la base de données … 50%",

"(Lecture de la base de données … 55%",

"(Lecture de la base de données … 60%",

"(Lecture de la base de données … 65%",

"(Lecture de la base de données … 70%",

"(Lecture de la base de données … 75%",

"(Lecture de la base de données … 80%",

"(Lecture de la base de données … 85%",

"(Lecture de la base de données … 90%",

"(Lecture de la base de données … 95%",

"(Lecture de la base de données … 100%",

"(Lecture de la base de données … 180191 fichiers et répertoires actuellement installés.)",

"Suppression de nginx (1.15.5-0ubuntu2.1) …"

]

}

Gérer les services

La commande ad-hoc ansible ci-dessous exécute le module de service pour démarrer nginx sur l’hôte. La valeur d’état doit être démarrée.

[protégé par e-mail]: / home / geekflare # ansible Client -m service -a ‘nom = nginx état = démarré activé = oui’ –become

node1 | SUCCÈS => {

"ansible_facts": {

"discovery_interpreter_python": "/ usr / bin / python"

},

"modifié": faux,

"activée": vrai,

"Nom": "nginx",

"Etat": "commencé",

"statut": {

"ActiveEnterTimestamp": "Sam 2019-07-06 08:28:02 EDT",

"ActiveEnterTimestampMonotonic": "31411371",

"ActiveExitTimestampMonotonic": "0",

"ActiveState": "actif",

"Après": "sysinit.target system.slice systemd-journald.socket basic.target network.target",

"AllowIsolate": "non",

"AmbientCapabilities": "",

"AssertResult": "Oui",

"AssertTimestamp": "Sam 2019-07-06 08:27:59 EDT",

"AssertTimestampMonotonic": "27694868",

"Avant": "multi-user.target shutdown.target",

"BlockIOAccounting": "non",

"BlockIOWeight": "[pas encore défini]",

"CapabilityBoundingSet": "CAP_CHOWN CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH CAP_FOWNER CAP_FSETID CAP_KILL CAP_SETGID CAP_SETUID CAP_SETPCAP CAP_LINUX_IMMUTABLE CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_ADMIN CAP_NET_RAW CAP_IPC_LOCK CAP_IPC_OWNER CAP_SYS_MODULE CAP_SYS_RAWIO CAP_SYS_CHROOT CAP_SYS_PTRACE cap_sys_pacct CAP_SYS_ADMIN CAP_SYS_BOOT CAP_SYS_NICE CAP_SYS_RESOURCE CAP_SYS_TIME CAP_SYS_TTY_CONFIG CAP_MKNOD cap_lease CAP_AUDIT_WRITE cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend",

"CollectMode": "inactif",

"ConditionResult": "Oui",

"ConditionTimestamp": "Sam 2019-07-06 08:27:59 EDT",

"ConditionTimestampMonotonic": "27694867",

"ConfigurationDirectoryMode": "0755",

"Conflits": "shutdown.target",

"Groupe de contrôle": "/system.slice/nginx.service",

"ControlPID": "0",

"ExecMainStartTimestamp": "Sam 2019-07-06 08:28:02 EDT",

"ExecMainStartTimestampMonotonic": "31411353",

"ExecMainStatus": "0",

"ExecReload": "{path = / usr / sbin / nginx; argv [] = / usr / sbin / nginx -g démon activé; master_process on; -s recharger; ignore_errors = no; start_time = [n / a]; stop_time = [n / a]; pid = 0; code = (null); statut = 0/0}",

"ExecStart": "{path = / usr / sbin / nginx; argv [] = / usr / sbin / nginx -g démon activé; master_process on; ; ignore_errors = no; start_time = [n / a]; stop_time = [n / a]; pid = 0; code = (null); statut = 0/0}",

"ExecStartPre": "{path = / usr / sbin / nginx; argv [] = / usr / sbin / nginx -t -q -g démon activé; master_process on; ; ignore_errors = no; start_time = [n / a]; stop_time = [n / a]; pid = 0; code = (null); statut = 0/0}",

"ExecStop": "{path = / sbin / start-stop-daemon; argv [] = / sbin / start-stop-daemon –quiet –stop –retry QUIT / 5 –pidfile /run/nginx.pid; ignore_errors = yes; start_time = [n / a]; stop_time = [n / a]; pid = 0; code = (null); statut = 0/0}",

"FailureAction": "aucun",

"FileDescriptorStoreMax": "0",

"FragmentPath": "/lib/systemd/system/nginx.service",

"GID": "[pas encore défini]",

"GuessMainPID": "Oui",

"IOAccounting": "non",

"IOSchedulingClass": "0",

"IOSchedulingPriority": "0",

"IOWeight": "[pas encore défini]",

}

}

Le module de service ci-dessous exécute pour arrêter nginx sur l’hôte. La valeur d’état passe à arrêtée.

[protégé par e-mail]: / home / geekflare # ansible Client -m service -a ‘nom = nginx état = arrêté’ –become

node1 | MODIFIÉ => {

"ansible_facts": {

"discovery_interpreter_python": "/ usr / bin / python"

},

"modifié": vrai,

"Nom": "nginx",

"Etat": "arrêté",

"statut": {

"ActiveEnterTimestamp": "Sam 2019-07-06 08:28:02 EDT",

"ActiveEnterTimestampMonotonic": "31411371",

"ActiveExitTimestampMonotonic": "0",

"ActiveState": "actif",

"Après": "sysinit.target system.slice systemd-journald.socket basic.target network.target",

"AllowIsolate": "non",

"AmbientCapabilities": "",

"AssertResult": "Oui",

"AssertTimestamp": "Sam 2019-07-06 08:27:59 EDT",

"AssertTimestampMonotonic": "27694868",

"Avant": "multi-user.target shutdown.target",

"BlockIOAccounting": "non",

"BlockIOWeight": "[pas encore défini]",

"CPUAccounting": "non",

"CPUQuotaPerSecUSec": "infini",

"CanReload": "Oui",

"Peut commencer": "Oui",

"Peut arrêter": "Oui",

"CapabilityBoundingSet": "CAP_CHOWN CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH CAP_FOWNER CAP_FSETID CAP_KILL CAP_SETGID CAP_SETUID CAP_SETPCAP CAP_LINUX_IMMUTABLE CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_ADMIN CAP_NET_RAW CAP_IPC_LOCK CAP_IPC_OWNER CAP_SYS_MODULE CAP_SYS_RAWIO CAP_SYS_CHROOT CAP_SYS_PTRACE cap_sys_pacct CAP_SYS_ADMIN CAP_SYS_BOOT CAP_SYS_NICE CAP_SYS_RESOURCE CAP_SYS_TIME CAP_SYS_TTY_CONFIG CAP_MKNOD cap_lease CAP_AUDIT_WRITE cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend",

"CollectMode": "inactif",

"ConditionResult": "Oui",

"ConditionTimestamp": "Sam 2019-07-06 08:27:59 EDT",

"ConditionTimestampMonotonic": "27694867",

"ConfigurationDirectoryMode": "0755",

"Conflits": "shutdown.target",

"Groupe de contrôle": "/system.slice/nginx.service",

"ControlPID": "0",

"Dépendances par défaut": "Oui",

"Déléguer": "non",

"La description": "Un serveur Web hautes performances et un serveur proxy inverse",

"DevicePolicy": "auto",

"Documentation": "homme: nginx (8)",

"DynamicUser": "non",

}

}

Vérification du système

La commande ad-hoc ansible mentionnée ci-dessous exécute un module shell pour vérifier le disque disponible sur les partitions racine.

[protégé par e-mail]: / home / geekflare # ansible Client -m shell -a ‘df -h / dev / sda2’ –become

node1 | MODIFIÉ | rc = 0 >>

Taille du système de fichiers utilisée Utilisation disponible% monté

/ dev / sda2 923M 113M 748M 14% / boot

Cette commande mentionnée ci-dessous exécute un module shell pour vérifier la mémoire libre (RAM) sur l’hôte.

[protégé par e-mail]: / home / geekflare # ansible Client -m shell -a ‘free -m’ –become

node1 | MODIFIÉ | rc = 0 >>

total de buff / cache partagé libre utilisé disponible

Mem: 5101 854 2760 27 1487 3947

Échange: 8581 0 8581

Cette commande vérifie la disponibilité de chaque serveur en cours d’exécution.

[protégé par e-mail]: / home / geekflare # ansible Client -a "disponibilité"

node1 | MODIFIÉ | rc = 0 >>

11:31:17 jusqu’à 1 jour, 2:40, 2 utilisateurs, charge moyenne: 0,23, 0,05, 0,02

Collecte des faits

La commande ansible ad-hoc ci-dessous vous donnera toutes les informations ad-hoc de votre système, y compris toutes les variables présentes dans le système.

[protégé par e-mail]: / home / geekflare # ansible all -m setup

node1 | SUCCÈS => {

"ansible_facts": {

"ansible_all_ipv4_addresses": [

"172.17.0.1",

"10.0.2.15"

],

"ansible_all_ipv6_addresses": [

"fe80 :: 763e: c0b4: 14df: b273"

],

"ansible_apparmor": {

"statut": "activée"

},

"ansible_architecture": "x86_64",

"ansible_bios_date": "12/01/2006",

"ansible_bios_version": "VirtualBox",

"ansible_cmdline": {

"BOOT_IMAGE": "/vmlinuz-4.18.0-25-generic",

"silencieux": vrai,

"ro": vrai,

"racine": "UUID = 5f85d8b7-0ab2-48c9-9e6e-4ecfbcbdaa83",

"éclaboussure": vrai

},

"ansible_date_time": {

"Date": "2019-07-07",

"journée": "07",

"époque": "1562525628",

"heure": "14",

"iso8601": "2019-07-07T18: 53: 48Z",

"iso8601_basic": "20190707T145348850596",

"iso8601_basic_short": "20190707T145348",

"iso8601_micro": "2019-07-07T18: 53: 48.850697Z",

"minute": "53",

"mois": "07",

"seconde": "48",

"temps": "14:53:48",

"tz": "EDT",

"tz_offset": "-0400",

"jour de la semaine": "dimanche",

"numéro_de_jour": "0",

"numéro de semaine": "26",

"an": "2019"

},

"ansible_default_ipv4": {

"adresse": "10.0.2.15",

"alias": "enp0s3",

"diffuser": "10.0.2.255",

"passerelle": "10.0.2.2",

"interface": "enp0s3",

"Adresse Mac": "08: 00: 27: 68: 64: 9a",

"mtu": 1500,

"masque de réseau": "255.255.255.0",

"réseau": "10.0.2.0",

"type": "éther"

},

"ansible_default_ipv6": {},

"ansible_device_links": {

"ids": {

"sda": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5"

],

"sda1": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part1"

],

"sda2": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part2"

],

"sda3": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part3"

],

"sda4": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part4"

],

"sr0": [

"ata-VBOX_CD-ROM_VB2-01700376"

]

},

"Étiquettes": {

"sr0": [

"VBox_GAs_6.0.2"

]

},

"maîtrise": {},

"uuids": {

"sda1": [

"5f85d8b7-0ab2-48c9-9e6e-4ecfbcbdaa83"

],

"sda2": [

"b8b7f87b-c3bf-48ed-a44c-f9b3ce0afbe5"

],

"sda3": [

"a6c77fa6-e292-4a0d-b21f-8804f1949bbd"

],

"sda4": [

"8207f970-4d9a-47db-a5d5-f620e5b17b7b"

],

"sr0": [

"2019-01-14-14-57-19-65"

]

}

},

"ansible_devices": {

"loop0": {

"détenteurs": [],

"hôte": "",

"liens": {

"ids": [],

"Étiquettes": [],

"maîtrise": [],

"uuids": []

},

"modèle": nul,

"partitions": {},

"amovible": "0",

"rotation": "1",

"sas_address": nul,

"sas_device_handle": nul,

"scheduler_mode": "aucun",

"secteurs": "29704",

"taille de secteur": "512",

"Taille": "14,50 Mo",

"support_discard": "4096",

"vendeur": nul,

"virtuel": 1

},

"loop1": {

"détenteurs": [],

"hôte": "",

"liens": {

"ids": [],

"Étiquettes": [],

"maîtrise": [],

"uuids": []

},

"modèle": nul,

"partitions": {},

"amovible": "0",

"rotation": "1",

"sas_address": nul,

"sas_device_handle": nul,

"scheduler_mode": "aucun",

"secteurs": "0",

"taille de secteur": "512",

"Taille": "0,00 octets",

"support_discard": "4096",

"vendeur": nul,

"virtuel": 1

},

}

Donc, c’était tout sur les commandes ad hoc d’Ansible. Allez-y et essayez ces commandes sur votre configuration ansible. Utilisez ces commandes pour exécuter des modules ansible sans écrire de playbook Ansible pour effectuer ces tâches. Déposez un commentaire si vous rencontrez des problèmes lors de l’exécution de ces commandes.

MOTS CLÉS:

  • Ansible

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map