#! /usr/bin/env perl use strict; use warnings; my @servers = ( 'DOMAIN1', 'DOMAIN2' ); my $virsh = '/usr/bin/virsh start '; my $output = `virsh list`; foreach my $server ( @servers ) { if ( $output =~ m/$server/ ) { unlink "/tmp/$server.down" if -e "/tmp/$server.down"; } else { if ( -e "/tmp/$server.down" ) { print "$server has been down for a while, starting back up\n"; `$virsh $server`; unlink "/tmp/$server.down"; } else { `touch /tmp/$server.down`; } } } 1;