mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-31 19:32:31 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			74 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env perl
 | |
| # IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
 | |
| 
 | |
| # Just like xcatclient, but needs to read a file in and pass it as $request->data
 | |
| 
 | |
| BEGIN { $::XCATROOT = $ENV{'XCATROOT'} ? $ENV{'XCATROOT'} : -d '/opt/xcat' ? '/opt/xcat' : '/usr'; }
 | |
| use lib "$::XCATROOT/lib/perl";
 | |
| use File::Basename;
 | |
| use xCAT::Client;
 | |
| use xCAT::Utils;
 | |
| 
 | |
| use Getopt::Long;
 | |
| 
 | |
| sub usage {
 | |
|     print "Usage: tabrestore <tablename>.csv\n";
 | |
|     print "       tabrestore -a <tablename>.csv\n";
 | |
|     print "       tabrestore [-?|-h|--help]\n";
 | |
|     print "       tabrestore [-v|--version]\n";
 | |
|     exit $_[0];
 | |
| }
 | |
| 
 | |
| #my $bname = basename($0);
 | |
| my $cmdref;
 | |
| $cmdref->{command}->[0] = "tabrestore";
 | |
| 
 | |
| # Get the options
 | |
| my $HELP;
 | |
| if (
 | |
|     !GetOptions(
 | |
|         'h|?|help'  => \$HELP,
 | |
|         'v|version' => \$VERSION,
 | |
|         'a|addrows' => \$ADDROWS,
 | |
|     )
 | |
|   )
 | |
| { usage(1); }
 | |
| 
 | |
| my $arg = shift(@ARGV);
 | |
| while ($arg =~ /^-/) {
 | |
|     push(@{ $cmdref->{arg} }, $arg);
 | |
|     $arg = shift(@ARGV);
 | |
| }
 | |
| if ($VERSION)
 | |
| {
 | |
|     my $version = xCAT::Utils->Version();
 | |
|     print "$version\n";
 | |
|     exit 0;
 | |
| }
 | |
| if ($HELP)
 | |
| {
 | |
|     usage;
 | |
| }
 | |
| if ($ADDROWS)
 | |
| {
 | |
|     $cmdref->{addrows}->[0] = "yes";
 | |
| }
 | |
| 
 | |
| unless ($arg) { usage(2); }    # no filename specified
 | |
| 
 | |
| # Open the specified table file and put its contents in the data key
 | |
| my $filename = $arg;
 | |
| my $tabname  = basename($filename);
 | |
| $tabname =~ s/\..*//;
 | |
| $cmdref->{table}->[0] = $tabname;
 | |
| my $fh;
 | |
| unless (open($fh, $filename)) { print "Error: Unable to open $arg for reading.\n"; exit 3; }
 | |
| while (<$fh>) {
 | |
|     push @{ $cmdref->{data} }, $_;
 | |
| }
 | |
| 
 | |
| 
 | |
| xCAT::Client::submit_request($cmdref, \&xCAT::Client::handle_response);
 | |
| exit $xCAT::Client::EXITCODE;
 | |
| 
 |