#!/usr/bin/perl -wI/home/kzh/lib/perl use FileHandle; use Everything; $logfile='hnbrun.log'; $ckptfile='ckpt.hnb'; $savefile='save.hnb'; $pwd=`pwd`; $host=`hostname`; $ostype=`uname`; chomp($ostype); chomp($pwd); chomp($host); if ($ostype eq "Linux") {$tripath="/n/epimetheus3/kzh/work/binlnx";} elsif ($ostype eq "SunOS") {$tripath="/n/epimetheus3/kzh/work/binsun";} if (-r $ckptfile){ $jobid=date("full","short"); $lfh=new FileHandle(">> $logfile"); print $lfh "=====> Job Resubmitted at $jobid: =====>\n"; $jobid=~ s/\D//g; (substr($jobid,0,4),substr($jobid,2,0))=('',substr($jobid,0,4)); print $lfh " Job ID: $jobid\n"; print $lfh " Hosting machine: $host\n"; print $lfh " Working DIR: $pwd\n"; print $lfh " HNB input file: $ARGV[1]\n"; print $lfh " HNB log file: $ARGV[0]\n\n"; close($lfh); system("$tripath/hnbody -l $ARGV[0] -s $ckptfile $ARGV[1]"); } else{ $jobid=date("full","short"); $lfh=new FileHandle(">> $logfile"); print $lfh "=====> New Job Submitted at $jobid: =====>\n"; $jobid=~ s/\D//g; (substr($jobid,0,4),substr($jobid,2,0))=('',substr($jobid,0,4)); print $lfh " Job ID: $jobid\n"; print $lfh " Hosting machine: $host\n"; print $lfh " Working DIR: $pwd\n"; print $lfh " HNB input file: $ARGV[1]\n"; print $lfh " HNB log file: $ARGV[0]\n\n"; close($lfh); system("$tripath/hnbody -l $ARGV[0] $ARGV[1]"); } $lfh=new FileHandle(">> $logfile"); if ($? & 255){ print $lfh "<===== Job Interuptted at ", date('full','short'), ": <=====\n"; print $lfh " Job ID: $jobid\n"; print $lfh " Hosting machine: $host\n"; print $lfh " HNBody code:",($? & 255),"\n\n"; } else { print $lfh "<===== Job Finished at ", date('full','short'), ": <=====\n"; print $lfh " Job ID: $jobid\n"; print $lfh " Hosting machine: $host\n"; print $lfh " Working DIR: $pwd\n"; print $lfh " HNB input file: $ARGV[1]\n"; print $lfh " HNB log file: $ARGV[0]\n\n"; rename($ckptfile,$savefile); #change permissions of the newly generated files @fna=`ls`; foreach $fn(@fna){ chomp($fn); if (-o $fn){ chmod 0666,$fn; chown 5570,501,$fn; } } } close($lfh);