/[vz-tools]/trunk/vz-remove.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/vz-remove.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 37 by dpavlin, Fri Feb 8 21:43:29 2008 UTC revision 40 by dpavlin, Fri Feb 8 23:02:25 2008 UTC
# Line 3  Line 3 
3  use strict;  use strict;
4  use Shell qw/rm vzlist vzctl/;  use Shell qw/rm vzlist vzctl/;
5    
6  my $vz   = '/vz';  use lib 'lib';
7  my $conf = '/etc/vz/conf';  use VZ;
8    check_root;
9    
10  my $VEID = shift @ARGV;  my $VEID = shift @ARGV;
11    
12  sub vzlist_config {  die "Usage: $0 VEID\n\n", join("\n",vzlist_configs()),"\n" unless $VEID;
         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;  
13    
14  my $c = "$conf/$VEID.conf";  my $c = "$vz_conf/$VEID.conf";
15  if ( -e $c ) {  if ( -e $c ) {
16          vzctl('stop', $VEID);          vzctl('stop', $VEID);
17          unlink $c || die "can't remove $c: $!";          unlink $c || die "can't remove $c: $!";
18            warn "# removed $c\n";
19  } else {  } else {
20          warn "WARNING: configuration file $c doesn't exist\n";          warn "WARNING: configuration file $c doesn't exist\n";
21  }  }
22    
23  foreach my $p ( qw/root private/ ) {  foreach my $p ( qw/root private/ ) {
24          my $c = "$vz/$p/$VEID";          my $c = "$vz_root/$p/$VEID";
25          if ( -e $c ) {          if ( -e $c ) {
26                  rm('-Rf', $c);                  rm('-Rf', $c);
27                  die "can't remove $c: $!" if -e $c;                  die "can't remove $c: $!" if -e $c;
28                    warn "# removed $c\n";
29          } else {          } else {
30                  warn "WARNING: directory $c doesn't exist\n";                  warn "WARNING: directory $c doesn't exist\n";
31          }          }

Legend:
Removed from v.37  
changed lines
  Added in v.40

  ViewVC Help
Powered by ViewVC 1.1.26