--- trunk/vz-remove.pl 2008/02/08 21:43:29 37 +++ trunk/vz-remove.pl 2008/02/08 23:02:25 40 @@ -3,44 +3,29 @@ use strict; use Shell qw/rm vzlist vzctl/; -my $vz = '/vz'; -my $conf = '/etc/vz/conf'; +use lib 'lib'; +use VZ; +check_root; my $VEID = shift @ARGV; -sub vzlist_config { - my @c; - open( my $cfgs, 'find /etc/vz/conf -maxdepth 1 -name "*.conf" |' ) || die "can't run find: $!"; - while(<$cfgs>) { - chomp; - if ( m#^.+/(\d+)\.conf$# ) { - if ( -d "$vz/private/$1" ) { - push @c, $1; - } else { - warn "WARNING: have config for $1 but no private directory\n"; - } - } else { - warn "SKIPPED: $_\n"; - } - } - return @c; -} - -die "Usage: $0 VEID\n\n", join("\n",vzlist_config()),"\n" unless $VEID; +die "Usage: $0 VEID\n\n", join("\n",vzlist_configs()),"\n" unless $VEID; -my $c = "$conf/$VEID.conf"; +my $c = "$vz_conf/$VEID.conf"; if ( -e $c ) { vzctl('stop', $VEID); unlink $c || die "can't remove $c: $!"; + warn "# removed $c\n"; } else { warn "WARNING: configuration file $c doesn't exist\n"; } foreach my $p ( qw/root private/ ) { - my $c = "$vz/$p/$VEID"; + my $c = "$vz_root/$p/$VEID"; if ( -e $c ) { rm('-Rf', $c); die "can't remove $c: $!" if -e $c; + warn "# removed $c\n"; } else { warn "WARNING: directory $c doesn't exist\n"; }