1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
| #!/usr/bin/env perl
use warnings;
use strict;
use Sys::Hostname;
use POSIX;
#print strftime("MAG_%Y%M%d_nbcli_%H00.%a", localtime());
#Prefix CodeSoc f1 f2 f3 ...
my $hmin=0;
my $hmax=2400;
my $pivot=0;
while(1) {
if($ARGV[0] eq "-hmin" || $ARGV[0] eq "hmin" ) {
shift;
$hmin=$ARGV[0];
} elsif($ARGV[0] eq "-hmax" || $ARGV[0] eq "hmax" ) {
shift;
$hmax=$ARGV[0];
} elsif($ARGV[0] eq "-pivot" || $ARGV[0] eq "pivot" ) {
shift;
$pivot=$ARGV[0];
} else {
last;
}
shift;
}
if($#ARGV<2) {
print "$0 Prefix CodeSoc F1 [F2 [F3 ... ]]\n";
exit(3);
}
my $magnum="999";
my $name=hostname();
#$name="SRVSC0150";
if ($name =~ /^POS([0-9]{3})([0-9]{3})/ ) {
$magnum=$1;
} elsif ($name =~ /^SRVSC[0-9]([0-9]{3})/) {
$magnum=$1;
}
my $prefix=$ARGV[0];
my $codesoc="$ARGV[1]";
my $msg="Prefix: $prefix, codesoc=$codesoc, ";
my $res=0;
my $now=time();
my @today=localtime($now);
my @fileday;
if($today[2]*100+$today[1]<$pivot) {
@fileday=localtime($now-3600*24);
} else {
@fileday=@today;
}
if(!(($today[2]*100+$today[1])>=$hmin && ($today[2]*100+$today[1])<$hmax)) {
print "En dehors des heures d'export ($hmin-$hmax)\n";
exit(0);
}
for(my $f=2; $f<=$#ARGV; $f++) {
my $fn=$ARGV[$f];
$fn =~ s/%cs/$codesoc/g;
$fn =~ s/%mg/$magnum/g;
$fn=strftime($fn, @fileday);
$msg=$msg.$fn." ";
if(-f $prefix."/".$fn) {
$msg.="OK.";
} else {
$msg.="KO";
$res=2;
}
$msg.=" ";
}
print $msg."\n";
exit($res); |
Partager