;:KVIS:Edited on 04/12/2006 09:38:57 by Pax.|E:KVIE:
; This is a test script for moving the archive data
;
;--------------------------------------------------------------------------------------------------------------------
;
;---- Script version 0.2
;---- Created by Pax
;---- Last edit date 04/12/2006 by Pax
;
;---- Declare Variables -------
;
$SCRIPTROOT = "\\server1\path\"
$REPORTSTORE = "\\server2\path"
$ARCHIVESTORE = "\\server3\path"
$REPORTUSER = domain1\user
$ARCHIVEUSER = domain2\user
$REPORTDRIVE = I:
$ARCHIVEDRIVE = J:
$ARCHIVE = "" + @YEAR + @MONTHNO + @MDAYNO
? $ARCHIVE
$ARCHIVELOG = $ARCHIVEDRIVE + "\LOGS\" + $ARCHIVE + ".LOG"
? $ARCHIVELOG
$EmailServer = "our.emailserver.net"
$Sender = "sender@@emailserver.net"
$SupportEmail = "support@@emailserver.net"
$EmailAddress = "recipient@@emailserver.net"
;
;---- If the password for the REPORTUSER account changes on server2, change the password on the ARCHIVEUSER account,
;---- and update the password in this script. Without this the script will fail
;
$USERPASS = password
;
;---- Mapping Archive drive first to create log file
;
? "Mapping the Archive Drive"
USE $ARCHIVEDRIVE $ARCHIVESTORE /USER:$ARCHIVEUSER /PASSWORD:$USERPASS
IF @ERROR = 0
"....Done"
ELSE
"..Failed"
SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Archive_Mapping_failure -server " + $EMAILSERVER)
GOTO END
ENDIF
;
$VARSET = OPEN(1, $ARCHIVESTORE + "\LOGS\" + $ARCHIVE + ".LOG", 5)
? @DATE
$VARSET = WRITELINE (1, "The current date is " + @DATE + @CRLF)
;
;---- Do drive mapping for Report drive to move the data
;
$VARSET = WRITELINE (1, "Mapping the Report Drive")
USE $REPORTDRIVE $REPORTSTORE /USER:$REPORTUSER /PASSWORD:$USERPASS
IF @ERROR = 0
"....Done"
$VARSET = WRITELINE(1, "....Done" + @CRLF)
ELSE
"..Failed"
$VARSET = WRITELINE(1, "..Failed" + @CRLF)
SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Report_Mapping_failure -server " + $EMAILSERVER)
GOTO END
ENDIF
? "Creating current date folder"
$VARSET = WRITELINE (1, "Creating current date folder")
MD "$ARCHIVEDRIVE@YEAR@MONTHNO@MDAYNO"
;MD "$ARCHIVEDRIVE@YEAR + right("0" + @MONTHNO,2) + right("0" + @MDAYNO,2)"
IF @ERROR = 0
"....Done"
$VARSET = WRITELINE(1, "....Done" + @CRLF)
ELSE
"..Failed"
$VARSET = WRITELINE(1, "..Failed" + @CRLF)
SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Archive_directory_creation_failure -server " + $EMAILSERVER)
GOTO END
ENDIF
$VARSET = WRITELINE (1, "Compressing current KPI data on Report Drive")
Shell ("cmd.exe /c " + $SCRIPTROOT + "\rar.exe a -r -t -y " + $REPORTDRIVE + "\" + $ARCHIVE + ".Rar " + $REPORTDRIVE + "\*")
$VARSET = WRITELINE (1, "Copying report to current date folder")
COPY $REPORTDRIVE + "\" + $ARCHIVE + ".Rar" $ARCHIVEDRIVE + "\" + $ARCHIVE
IF @ERROR = 0
"....Done"
$VARSET = WRITELINE(1, "....Done" + @CRLF)
ELSE
"..Failed"
$VARSET = WRITELINE(1, "..Failed" + @CRLF)
$VARSET = WRITELINE(1, GetDiskSpace ($ARCHIVEDRIVE) + @CRLF)
SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Archive_Mapping_failure -server " + $EMAILSERVER)
GOTO END
ENDIF
;
;---- Compare copied filesizes
;
$REPORTFILE = GetFileSize ($REPORTDRIVE + $ARCHIVE + ".rar") /1024
$VARSET = WRITELINE (1, "Report RAR file size is " + $REPORTFILE + @CRLF)
$ARCHIVEFILE = GetFileSize ($ARCHIVEDRIVE + "\" + $ARCHIVE + "\" + $ARCHIVE + ".rar") /1024
$VARSET = WRITELINE (1, "Archive rar file size is " + $ARCHIVEFILE + @CRLF)
If $REPORTFILE <> $ARCHIVEFILE
SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s File_Copy_Error -server " + $EMAILSERVER)
ENDIF
;
;---- Extracting files onto Archive
;
$VARSET = WRITELINE (1, "Extracting " + $ARCHIVEDRIVE + "\" + $ARCHIVE + "\" + $ARCHIVE + ".rar" + @CRLF)
Shell ("cmd.exe /c " + $SCRIPTROOT + "\unrar.exe e -r " + $ARCHIVEDRIVE + "\" + $ARCHIVE + "\" + $ARCHIVE ".rar " + $ARCHIVEDRIVE + "\" + $ARCHIVE + "\" )
IF @ERROR = 0
"....Done"
$VARSET = WRITELINE(1, "....Done" + @CRLF)
ELSE
"..Failed"
$VARSET = WRITELINE(1, "..Failed" + @CRLF)
$VARSET = WRITELINE(1, GetDiskSpace ($ARCHIVEDRIVE) + @CRLF)
SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Issue_Extracting_Files_From_Archive -server " + $EMAILSERVER)
GOTO END
ENDIF
;
;---- Removing archive rar file and files from Report Drive
;
RD $REPORTDRIVE /Q
$VARSET = WRITELINE (1, "Removing archive RAR file and files from Report Drive" + @CRLF)
IF @ERROR = 0
"....Done"
$VARSET = WRITELINE(1, "....Done" + @CRLF)
ELSE
"..Failed"
$VARSET = WRITELINE(1, "..Failed" + @CRLF)
SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $SupportEmail + " -f " + $Sender + " -s Issue_removing_files_from_HR01 -server " + $EMAILSERVER)
GOTO END
ENDIF
;
;---- Email success report to maintaining group
;
SHELL ("cmd.exe /c " + $SCRIPTROOT + "Blat " + $ARCHIVELOG + " -t " + $EmailAddress + " -f " + $Sender + " -s " + @DATE + "_KPI_Archive_Success -server " + $EMAILSERVER)
:END
;USE $REPORTDRIVE /DEL
;USE $ARCHIVEDRIVE /DEL