diff options
Diffstat (limited to 'storage/ndb/tools/ndb_error_reporter')
-rw-r--r-- | storage/ndb/tools/ndb_error_reporter | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/storage/ndb/tools/ndb_error_reporter b/storage/ndb/tools/ndb_error_reporter deleted file mode 100644 index 493a630a6dd..00000000000 --- a/storage/ndb/tools/ndb_error_reporter +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/perl -w - -# Copyright (c) 2005-2007 MySQL AB -# Use is subject to license terms -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - -use strict; - -if(@ARGV < 1) -{ - print STDERR "Usage:\n"; - print STDERR "\tndb_error_reporter config.ini [username] [--fs]\n\n"; - print STDERR "\tusername is a user that you can use to ssh into\n"; - print STDERR "\t all of your nodes with.\n\n"; - print STDERR "\t--fs means include the filesystems in the report\n"; - print STDERR "\t WARNING: This may require a lot of disk space.\n"; - print STDERR "\t Only use this option when asked to.\n\n"; - exit(1); -} - -my $config_file= $ARGV[0]; -my $config_get_fs= 0; -my $config_username= ''; -if(defined($ARGV[1])) -{ - $config_get_fs= 1 if $ARGV[1] eq '--fs'; - $config_username= $ARGV[1].'@' if $ARGV[1] ne '--fs'; - $config_get_fs= (defined $ARGV[2] && $ARGV[2] eq '--fs')?1:$config_get_fs; -} - -if(!stat($config_file)) -{ - print STDERR "Cannot open configuration file.\n\n"; - exit(1); -} - -my @nodes= split ' ',`ndb_config --config-file=$ARGV[0] --nodes --query=id --type=ndbd`; - -push @nodes, split ' ',`ndb_config --config-file=$ARGV[0] --nodes --query=id --type=ndb_mgmd`; - -sub config { - my $nodeid= shift; - my $query= shift; - my $res= `ndb_config --config-file=$ARGV[0] --id=$nodeid --query=$query`; - chomp $res; - $res; -} - -my @t= localtime(); -my $reportdir= sprintf('ndb_error_report_%u%02u%02u%02u%02u%02u', - ($t[5]+1900),($t[4]+1),$t[3],$t[2],$t[1],$t[0]); - -if(stat($reportdir) || stat($reportdir.'tar.bz2')) -{ - print STDERR "It looks like another ndb_error_report process is running.\n"; - print STDERR "If that is not the case, remove the ndb_error_report directory"; - print STDERR " and run ndb_error_report again.\n\n"; - exit(1); -} - -mkdir($reportdir); - -foreach my $node (@nodes) -{ - print "\n\n Copying data from node $node". - (($config_get_fs)?" with filesystem":""). - "\n\n"; - my $recurse= ($config_get_fs)?'-r ':''; - system 'scp -p '.$recurse.$config_username.config($node,'host'). - ':'.config($node,'datadir')."/ndb_".$node."* ". - "$reportdir/\n"; -} - -print "\n\n Copying configuration file...\n\n\t$config_file\n\n"; -system "cp -p $config_file $reportdir/"; - -my $r = system 'bzip2 2>&1 > /dev/null < /dev/null'; -my $outfile; -if($r==0) -{ - $outfile= "$reportdir.tar.bz2"; - system "tar c $reportdir|bzip2 > $outfile"; -} -else -{ - $outfile= "$reportdir.tar.gz"; - system "tar c $reportdir|gzip > $outfile"; -} - -system "rm -rf $reportdir"; - -print "\n\nPlease attach $outfile to your error report\n\n"; |