#! /usr/bin/perl # File: sge_filestaging # # Copyright (c) Members of the EGEE Collaboration. 2004. # See http://www.eu-egee.org/partners/ for details on the copyright # holders. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # use Getopt::Long; my ( $STAGEIN, $FILELIST ); GetOptions( 'stagein' => sub { $STAGEIN = 1; $FILELIST = 'SGE_stagein'; }, 'stageout' => sub { $STAGEIN = 0; $FILELIST = 'SGE_stageout'; }, ); exit 0 unless $FILELIST; my ( @FILES ) = split( /\@\@\@/, $ENV{$FILELIST} ); foreach ( @FILES ) { next unless /^([^\@]+)\@([^\:]+)\:(.+)$/; my $localfile = $1; my $remotemachine = $2; my $remotefile = $3; if ( $STAGEIN ) { system( 'cp', "$remotefile", $localfile ); } else { system( 'cp', $localfile, "$remotefile" ); } # if ( $STAGEIN ) { # system( 'scp', "$remotemachine:$remotefile", $localfile ); # } else { # system( 'scp', $localfile, "$remotemachine:$remotefile" ); # } } exit( 0 );