checkRelease.pl

上一篇 / 下一篇  2008-11-12 14:58:11 / 个人分类:Perl silent installation

#use warnings;
$emsVersion = readEmsVersion("emsversion.ini");
## decide if call silentlyInstallPanINM.pl
$autoUpdate = "no";
my $lMainDir = "C:\\Panorama";
my $lFileDir = "$lMainDir\\Panorama_V$emsVersion";
my $rFileDir = "\\\\dtsmbsvr\\replica\\EMS\\Panorama_V$emsVersion";
#my $rFileDir = "$lMainDir\\temp\\Panorama_V$emsVersion";
my $lFilename = "$lFileDir\\cdrom\\ems.$emsVersion.tar.Z";
my $rFilename = "$rFileDir\\cdrom\\ems.$emsVersion.tar.Z";
#my $lFilename = "$lFileDir\\cdrom\\ReleaseNotes.doc";
#my $rFilename = "$rFileDir\\cdrom\\ReleaseNotes.doc";

open CHKLOG, "> checkRelease.log"
 or die "Can't create checkRelease.log: $!";
#exit unless &fileExist($rFilename);
&quit unless &fileExist($rFilename);

system "mkdir $lMainDir" unless &fileExist($lMainDir);

if (&fileExist($lFilename)){
 ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $latime, $lmtime, $lctime, $blksize, $blocks) = stat($lFilename);
 ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $ratime, $rmtime, $rctime, $blksize, $blocks) = stat($rFilename);
 my $lmdate = localtime $lmtime;
 my $rmdate = localtime $rmtime;
 &printLog ("Local file name is $lFilename\n");
 &printLog ("Remote file name is $rFilename\n");
 &printLog ("Local modified time is $lmtime\n");
 &printLog ("Remote modified time is $rmtime\n");
 &printLog ("Local modified date is $lmdate\n");
 &printLog ("Remote modified date is $rmdate\n");
 # check if need to update
 if ($lmtime == $rmtime){
  &printLog ("Local modified time equals to remote modified time. Don't need update release $emsVersion\nExit...\n");
  #exit;
  &quit;
 }else{
  # The source file is newer than destination. Replace..
  &printLog ("The source file is newer than destination. Replace ems.$emsVersion.tar.Z... \n");
  #my $msg = `xcopy /Y $rFilename $lFilename`;
  my $msg = `C:\\WINDOWS\\system32\\xcopy.exe $rFilename $lFilename /Y`;
  &printLog ($msg);
  system "ftp.pl";
 }
}else{
 #copy ...
  &printLog ("Copy $rFileDir to $lFileDir ...\n");
  my $msg = `C:\\WINDOWS\\system32\\xcopy.exe $rFileDir $lFileDir  /I /E /Y`;
  &printLog ($msg);
  system "ftp.pl";
}
if ($autoUpdate =~/yes|y/i){
 &printLog ("Call silentlyInstallPanINM.pl ...\n");
 system "silentlyInstallPanINM.pl";
}
close CHKLOG;

system "email.pl";

sub printLog {
 my ($msg) = @_;
 print $msg;
 print CHKLOG $msg;
} # end sub printLog

sub readEmsVersion {
 my ($filename, $emsVersion) = @_;
 open FILE, $filename
  or die "Can't open the file: $filename! ($!)";
 chomp($emsVersion = <FILE>);
 close FILE;
 $emsVersion;
} #  end sub readEmsVersion

sub fileExist {
 my ($filename) = @_;
 if(-e $filename){
  -1;
 }else{
  &printLog ("Can't find the file: $filename\n");
  0;  
 }
} # end sub fileExist

sub quit {
 system "email.pl";
 exit;
} # end sub quit


TAG: Perl

 

评分:0

我来说两句

日历

« 2024-04-23  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 47562
  • 日志数: 80
  • 建立时间: 2008-10-27
  • 更新时间: 2009-07-17

RSS订阅

Open Toolbar