Z uvedených možností jsem vybral jednu a připravil script pro ansible. Účelem je postit ho nad sítí a vycucnout z ní co je za podřízená distra, v jaké architektuře apod. Takový script se pustí jen jednou. Hodí se tam kde těch počítačů jsou desítky.
Nicméně stále tápu a mám tam jednu banální chybu:
---
- hosts: all
remote_user: spravce
become: yes
become_method: sudo
tasks:
- name: Vytvor vycuc z hostname
shell: 'echo "IP address: $(hostname -I)Static hostname: $(hostname), Operating System: $(lsb_release -ds), Kernel: $(uname -sr), Architecture: $(arch)" >> /home/spravce/$(hostname).txt'
- name: Zmena prav k souboru
file:
path: '/home/spravce/$(hostname).txt'
owner: spravce
group: spravce
mode: '0644'
- name: Odeslani logu na ridici server
fetch:
src: '/home/spravce/$(hostname).txt'
dest: '/home/spravce/ansible_sachlj/funguje/hostname/'
už v kroku kdy se mají nastavit práva k souboru (vygeneruje soubor s právy roota) to hodí chybovou hlášku:
FAILED! => {"changed": false, "msg": "file (/home/spravce/$(hostname).txt) is absent, cannot continue", "path": "/home/spravce/$(hostname).txt", "state": "absent"}
kdy mi jasně říká že soubor $(hostname).txt nenašel...přitom v kroku kdy soubor definuje ho v pohodě udělá např. centos8.txt....
jak mu tedy mám v dalších krocích (změna práv a odeslání na řídící server) definovat název kterému bude rozumět? Název je hostname.txt každého serveru.
Děkuji