Hello,

I'm tried make it over ansible, but in final, i think much easiest way is 
using script module.

If someone interesting, when i tried it, i'm used this construction for 
getting files attributes and states:

- name: Getting files stats
  stat: path={{ item }}
  register: st
  with_items:
   - /etc/asterisk
   - /etc/bind
   - /etc/GeoIP.conf
   - /etc/iptables
   - /etc/jabber
   - /etc/monit
   - /etc/mysql
   - /etc/nginx
   - /etc/postfix
   - /etc/ppp
   - /etc/snmp
   - /etc/sphinx
   - /etc/xl2tpd

- name: Moving on
  debug: msg="doing something with {{ item.item }}"
  when:
    - item.stat.exists == true
    - item.stat.islnk != true
  with_items: st.results


Thank you


> Hello,
>
> Yes, you understand correctly. How can I synchronize files on remote node 
> (not from local host to remote) ?
>
> Thank you.
>
> If I understand correctly, you're copying the contents of several 
>> directories to a central location, removing the old path, and then creating 
>> a symlink to the new location? To do that with ansible you'd just need to 
>> call the synchronize module to copy the files (or use command/shell to do 
>> the rsync), and then use the file module to create the symlink.
>>
>>
>> On Mon, Mar 31, 2014 at 6:56 AM, Maxim Odinintsev <[email protected]>wrote:
>>
>>> Hello,
>>>
>>> I'm trying migrate out my infrastructure under ansible control, but 
>>> stopped on simple things realization with ansible.
>>>
>>> I would be very grateful if some one can explain, best way for moving on 
>>> this simple shell script under ansible. 
>>> May be simplest way is running external shell, and not try to push it 
>>> all under ansible logic ?
>>>
>>> pushd /
>>> for i in \
>>>       /etc/ipsec* \
>>>       /home \
>>>       /root \
>>>       do
>>>       [[ -r $i ]] || continue
>>>       [[ -L $i ]] && continue
>>>       dst_dir=$(readlink -m /protected$(dirname $i))
>>>       dst_name="${dst_dir}/$(basename $i)"
>>>       mkdir -p $dst_dir
>>>       rsync -a $i $dst_dir && rm -rf $i && ln -s $dst_name $i
>>>       ls -ld $i
>>> done
>>> popd
>>>
>>> Thank you
>>>  
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Ansible Project" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/ansible-project/a29d1d41-ffd3-40e9-8cc4-a4a891e443c6%40googlegroups.com<https://groups.google.com/d/msgid/ansible-project/a29d1d41-ffd3-40e9-8cc4-a4a891e443c6%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/4789e472-3e67-495d-b0d0-9a0e3999f113%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to