Can some one help here.
On Wednesday, September 21, 2016 at 10:14:16 PM UTC+5:30, bablu wrote:
>
>
> That's working.
>
> But I guess here i have to hard code the command. Is there any way where i
> can pass any command at the run time to execute on the remote host.
>
> I saw the raw module and below are the behavior i got.
>
> working:
>
> /usr/bin/ansible test -m raw -a netstat -tanpu | /bin/awk '{print $5}' |
> sort -n | uniq -cd | sort -n | awk '$1 > 3{printf ("%5s\t%s\n", $1, $2)}'
>
> Not working
>
> /usr/bin/ansible test -m raw -a netstat -an | grep :8080
>
>
>
> On Wednesday, September 21, 2016 at 1:21:29 PM UTC+5:30, Kai Stian Olstad
> wrote:
>>
>> On 20.09.2016 10:00, DHAVAL JAISWAL wrote:
>> > Ansible version: ansible 1.9.2
>> >
>> > I am unable to execute following command from shell module neither
>> > through
>> > playbook. It could be any command at the run time. While reading found
>> > $,%
>> > need the escape string. Tried but not working. Is there any way/module
>> > through which i can run any command on the remote host and no need to
>> > explicitly define any escape string.
>> >
>> >
>> > netstat -tanpu | awk '{{print $5}}' | sort -n | uniq -cd | sort -n |
>> > awk
>> > '$1 > 3{{printf ("%5s\t%s\n", $1, $2)}}'
>> >
>> > With shell module:
>> >
>> > /usr/bin/ansible remote_host -m shell -a 'netstat -tanpu | awk '{{print
>> > $5}}' | sort -n | uniq -cd | sort -n | awk '$1 > 3{{printf
>> > ("%5s\t%s\n",
>> > $1, $2)}}''
>> > -bash: syntax error near unexpected token `('
>> >
>> >
>> > With playbook.
>> >
>> > - hosts: "{{ip}}"
>> > gather_facts: no
>> > remote_user: remote
>> > connection: local
>> >
>> > tasks:
>> > - name: Running command
>> > shell: netstat -tanpu | awk '{{print $5}}' | sort -n | uniq -cd |
>> > sort
>> > -n | awk '$1 > 3{{printf ("%5s\t%s\n", $1, $2)}}'
>> >
>> > fatal: [192.168.4.7] => Failed to template netstat -tanpu | awk
>> > '{{print
>> > $5}}' | sort -n | uniq -cd | sort -n | awk '$1 > 3{{printf
>> > ("%5s\t%s\n",
>> > $1, $2)}}': template error while templating string: unexpected char
>> > u'$' at
>> > 30
>>
>> Ansible thinks {{ }} is a template, you need to just use { }, so this
>> should work:
>>
>> - name: Running command
>> shell: netstat -tanpu | awk '{print $5}' | sort -n | uniq -cd | sort
>> -n | awk '$1 > 3{printf ("%5s\t%s\n",$1, $2)}'
>>
>> --
>> Kai Stian Olstad
>>
>
--
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/3a5e2b12-f260-41cd-97fe-fd1df672b068%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.