diff --git a/5_primi_playbooks/11_playbook.yaml b/5_primi_playbooks/11_playbook.yaml new file mode 100644 index 0000000..f855e5a --- /dev/null +++ b/5_primi_playbooks/11_playbook.yaml @@ -0,0 +1,34 @@ +--- +- name: Copia un file su server remoti # nome di questo play + hosts: all # specifica su quali hosts o gruppi di hosts deve essere eseguito questo play + become: true # utilizza i privilegi di root (default false) + gather_facts: false # raccoglie i dati sull'host (default true) + + tasks: + - name: Creo la directory + ansible.builtin.file: + path: /tmp/example/ # percorso dove deve essere presente la directory + state: directory # tipologia di file richiesto + owner: root # owner + group: root # gruppo + mode: '0755' # acl del file + + - name: Copio il file di testo + ansible.builtin.copy: + src: example.txt # percorso del file in locale + dest: /tmp/example/ # destinazione del file sulla macchina remota + owner: root # owner + group: root # gruppo + mode: '0644' # acl del file + + - name: Verifico che il file sia stato copiato correttamente + ansible.builtin.stat: + path: /tmp/example/example.txt + register: file_status + + - name: Stampo lo stato del file copiato + ansible.builtin.debug: + msg: "Il file è stato copiato con successo!" + when: file_status.stat.exists + + diff --git a/5_primi_playbooks/1_playbook.yaml b/5_primi_playbooks/1_playbook.yaml new file mode 100644 index 0000000..1d394f1 --- /dev/null +++ b/5_primi_playbooks/1_playbook.yaml @@ -0,0 +1,26 @@ +--- +- name: Copia un file su server remoti # nome di questo play + hosts: all # specifica su quali hosts o gruppi di hosts deve essere eseguito questo play + become: true # utilizza i privilegi di root (default false) + gather_facts: false # raccoglie i dati sull'host (default true) + + tasks: + - name: Copio il file di testo + ansible.builtin.copy: + src: example.txt # percorso del file in locale + dest: /tmp/ # destinazione del file sulla macchina remota + owner: root # owner + group: root # gruppo + mode: '0644' # acl del file + + - name: Verifico che il file sia stato copiato correttamente + ansible.builtin.stat: + path: /tmp/example.txt + register: file_status + + - name: Stampo lo stato del file copiato + ansible.builtin.debug: + msg: "Il file è stato copiato con successo!" + when: file_status.stat.exists + + diff --git a/5_primi_playbooks/README.md b/5_primi_playbooks/README.md new file mode 100644 index 0000000..dda8d7e --- /dev/null +++ b/5_primi_playbooks/README.md @@ -0,0 +1,15 @@ +# Alcuni esempi di playbook + +Prima di procedere, editare il file inventory, sostituendo hos1, host2 e host3 con tre hosts su cui lanciare i comandi + +1) Esempio di playbook che esegue su tutti gli hosts dell'inventory la copia di un file di testo ed il controllo della presenza del file copiato +- per lanciare il playbook: +``` +ansible-playbook 1_playbook.yaml -u user -k -iinventory +``` + +1.1) Esempio di playbook che esegue su tutti gli hosts dell'inventory la creazione di una directory, la copia di un file di testo all'interno della directory ed il controllo della presenza del file copiato +- per lanciare il playbook: +``` +ansible-playbook 1.1_playbook.yaml -u user -k -iinventory +``` diff --git a/5_primi_playbooks/files/example.txt b/5_primi_playbooks/files/example.txt new file mode 100644 index 0000000..0168abc --- /dev/null +++ b/5_primi_playbooks/files/example.txt @@ -0,0 +1 @@ +Questo è un file di esempio. diff --git a/5_primi_playbooks/inventory b/5_primi_playbooks/inventory new file mode 100644 index 0000000..8523cb2 --- /dev/null +++ b/5_primi_playbooks/inventory @@ -0,0 +1,4 @@ +#host1 +#host2 +#host3 +asdevstage01vm.ad.lepida.it