[CentOS] virtdown script

Tue May 3 21:09:33 UTC 2011
Ljubomir Ljubojevic <office at plnet.rs>

aurfalien at gmail.com wrote:
> On May 3, 2011, at 11:55 AM, Ljubomir Ljubojevic wrote:
> 
>> Tim Dunphy wrote:
>>> hello list!
>>>
>>> I have a small shell script that I wrote that is meant to quickly  
>>> bring down all of my xen instances in a quick and easy manner. Odd  
>>> thing is, it does work on the command line. But if I put it into a  
>>> script this happens:
>>>
>>>
>>> [root at LCENT03:/home/bluethundr/bin] #virtdown
>>>
>>> it expects another command to happen. which is odd since all of the  
>>> text delimiters (" and ') are balanced according to vim. I was  
>>> wondering if I could have an opinion on why this might be  
>>> happening. Here's the script:
>>>
>>>
>>>
>>> #/bin/bash
>>>
>>> for i in $(virsh list | grep -v -e Id -e --- -e Domain-0 | awk  
>>> '{print $1}');
>>> do
>>> /usr/bin/virsh shutdown $i
>>> done
>>>
>>>
>>> thanks in advance!
>>> tim
>> Last thing I saw is "#/bin/bash" instead of "#!/bin/bash". Fix and  
>> try.
>>
>> The rest of suggestions:
>> Add plenty of unique "echo" lines so you can see where it brakes.
>>
>> Also try $(`virsh list | grep -v -e Id -e --- -e Domain-0 | awk  
>> '{print
>> $1}'`)
>>
>> and try sending that same part to variable first and echo the variable
>> so you can see output.
>>
>>
>> #!/bin/bash
>>
>> list=$(virsh list | grep -v -e Id -e --- -e Domain-0 | awk '{print  
>> $1}')
>> echo "the list is=$list"; sleep 2
>> for i in "$list";
>> do
>>    echo "Running shutdown for item $i"; sleep 2
>>    /usr/bin/virsh shutdown $i
>>    echo " shutdown for item $i is complete"; sleep 2
>> done
>>
>> and try version with:
>> list=$(`virsh list | grep -v -e Id -e --- -e Domain-0 | awk '{print  
>> $1}'`)
>>
>> Ljubomir
> 
> Does this work for HVMs?
> 
> - aurf

Can not say. I use only one KVM gueat and virsh does not even work on my 
server:

virsh: /usr/lib/libvirt.so.0: version `LIBVIRT_PRIVATE_0.6.1' not found 
(required by virsh)

so my involvement is for now only because I am very good "bash" 
programmer and willing to help.

Ljubomir