When the script exits the condition code (ERRORLEVEL) of the last command
executed is used as the completion code for the script. In
your example, if the first net stop/start fails and the 2nd one works....then
the script will show zero completion...but it really
half-failed. You could always make this script complete successfully just by
putting any command as the last command that will
always give an ERRORLEVEL of 0. Like ECHO. Then no matter what the rest of the
script does, it will always show as completed
successfully.
The PRESCHEDULECMD is such that if the command returns with a non-zero
condition code, TSM client does not perform the backup.
I think on the POSTSCHEDULECMD you need to check the condition code of the NET
START's to alert you if they fail to start. You could
then be pro-active and get the services going before the users discover it for
you.
This is a good place to start if you need to get it going now, but I really
think you should look at condition code checking and
alerting on errors in the long run.
Bill Boyer
"A life? Cool! Where can I download one of those?" - ??
-----Original Message-----
From: ADSM: Dist Stor Manager [mailto:ADSM-L AT VM.MARIST DOT EDU] On Behalf Of
Timothy Hughes
Sent: Wednesday, August 22, 2007 2:24 PM
To: ADSM-L AT VM.MARIST DOT EDU
Subject: Re: prescheduled postcheduled commands help
Thanks to all who responded I need and appreciate all of your help. I am going
to try some if not all of your suggestions. Since I
am new at this type of scripting I am going to Start with the simplist form
first. Here are the two scripts that I placed in the
C: \program files\tivoli tsm\baclient\
REM =====================
REM =====================
REM Tivoli storage manger 5.3.4
REM COMMAND TO START SERVICES
REM ========================
@ECHO OFF
set tsm_dir=c:\Progra~1\TivoliTSM\BaClient
C:
cd %tsm_dir%
net start "Update Services"
net start "World Wide Web Publishing Service"
REM===============================
REMREM
REM COMMAND TO STOP SERVICES
REM============================
@ECHO OFF
set tsm_dir=C:\Program files\tivoli\TSM\Baclient
C:
Cd %tsm_dir%
net stop "Update Services"
net stop "World Wide Web Publishing Service"
The dsm.opt file looks like this
PRESCHEDULEDCMD "c:\program files\tivoli\tsm\baclient\Stopstuff.bat"
POSTSCHEDULEDCMD "c:\program files\tivoli\tsm\baclient\Startstuff.bat"
LANG AMENG
DOMAIN ALL-LOCAL
TCPSERVERADDRESS
PASSWORDACCESS GENERATE
TCPCLIENTADDRESS xx.xx.xx.xx
NODENAME OFSWTUS1
subdir yes
replace prompt
tcpb 32
tcpw 63
SCHEDMODE PROMPTED
txnbytelimit 25600
errorlogname c:\progra~1\tivoli\tsm\baclient\dsmerror.log
SCHEDlogname c:\progra~1\tivoli\tsm\baclient\dsmsched.log
errorlogretention 14
schedlogretention 7
tcpnodelay yes
resourceutilization 3
LARGECOMMbuffers yes
CHANGINGRETRIES 2
COMPRESSIon Yes
BACKUPREG YES
MANAGEDSERVICES WEBCLIENT SCHEDULE
William, I understand your logic and condition code checking and I read the
Technote that Andrew pointed out. From what I have been
told if the commands don't work the backup will just fail with a condition
code. A couple of our backups are setup with presched
commands with ASR. If it does fail I will try your Condition Code Script.
I am going to implement this for tonights backup hopefully it will work. If
anyone cares to add anything or see any possible errors
feel free to let me know.
Again Thank you all very much.
Tim
William Boyer wrote:
>Maybe being an ex-programmer, but you have no condition code checking
>to make sure that the NET STOP/START commands completed successfully.
>If you NET STOP's don't work, do you still want to run the backup? Now if the
>last NET STOP command fails, then the preschedulecmd
will return with a non-zero completion code and the backup will not run. Maybe
something like this:
>
>REM StartStuff.cmd
>
>Set LASTCC=0
>Set MAXCC=0
>Set LOG_FILE=c:\some\path\StartStuff.log
>Echo Script start at %date% %time% > %LOG_FILE%
>
>Echo Net stop "Update Services" >> %LOG_FILE% Net stop "Update
>Services" >> %LOG_FILE% Set LASTCC=%ERRORLEVEL% If %LASTCC% EQU 0 goto
>stop2 Set MAXCC=%LASTCC% Echo Stop of the Update Services service
>failed with RC=%LASTCC% >> %LOG_FILE% Goto endit
>
>:stop2
>Echo Net stop "World Wide Web Publishing Service" >> %LOG_FILE% Net
>stop "World Wide Web Publishing Service" >> %LOG_FILE% Set
>LASTCC=%ERRORLEVEL% If %LASTCC% EQU 0 goto endit Set MAXCC=%LASTCC%
>Echo Stop of the World Wide Web Publishing Service failed with
>RC=%LASTCC% >> %LOG_FILE% Echo Net start "Update Services" >>
>%LOG_FILE% Net start "Update Services" >> %LOG_FILE% :endit Echo Script
>completed at %date% %time% with RC=%MAXCC% >> %LOG_FILE% Exit %MAXCC%
>
>
>Now the script will complete with an appropriate return code and give
>you all the messages in case you need to try and figure out why it failed.
>
>Bill Boyer
>"I haven't lost my mind...it's backed up on tape somewhere!" - ??
>
>
>
>
>-----Original Message-----
>From: ADSM: Dist Stor Manager [mailto:ADSM-L AT VM.MARIST DOT EDU] On Behalf
>Of Andy Huebner
>Sent: Wednesday, August 22, 2007 11:05 AM
>To: ADSM-L AT VM.MARIST DOT EDU
>Subject: Re: prescheduled postcheduled commands help
>
>In the dsm.opt file add:
>PRESCHEDULECMD "c:\program files\tivoli\tsm\baclient\StopStuff.bat"
>POSTSCHEDULECMD "c:\program files\tivoli\tsm\baclient\StartStuff.bat"
> Or
>PRESCHEDULECMD c:\progra~1\tivoli\tsm\baclient\StopStuff.bat
>POSTSCHEDULECMD c:\progra~1\tivoli\tsm\baclient\StartStuff.bat
>
>
>
>In the "c:\program files\tivoli\tsm\baclient" directory add:
>
>StartStuff.bat
> Net start "Update Services"
> Net start "World Wide Web Publishing Service"
>
>StopStuff.bat
> Net stop "Update Services"
> Net stop "World Wide Web Publishing Service"
>
>Run the backup normally. The batch has 5 minutes to complete. (I
>think)
>
>Test both batch files from the command line to make sure there are not any
>dependencies.
>
>I know of no simpler way to stop and start services for a backup.
>
>Andy Huebner
>
>-----Original Message-----
>From: ADSM: Dist Stor Manager [mailto:ADSM-L AT VM.MARIST DOT EDU] On Behalf
>Of Lawrence Clark
>Sent: Wednesday, August 22, 2007 9:56 AM
>To: ADSM-L AT VM.MARIST DOT EDU
>Subject: Re: [ADSM-L] prescheduled postcheduled commands help
>
>Tim,
>
>It's defined just like your incremental sched, just set action=command
>(default is incremental), then objects=<your script name>
>
>a q sched <sched name> f=d would show:
>
>Policy Domain Name: SPAIX
> Schedule Name: STATBKTRACK-FULL
> Description: The weekly full backup of selected tables on
> STATDBMS using SQL-BACKTRACK
> Action: Command
> Options:
> Objects: /home/sybase/dump/dbbkup.s
>
>
>
>
>
>
>>>>Timothy.Hughes AT OIT.STATE.NJ DOT US 08/22/2007 11:44:15 AM >>>
>>>>
>>>>
>Thanks Lawerence,
>
>I wasn't aware of that I had planned on putting the following
>commands in the dsm.opt file. I have never defined a script schedule before I
>am going to have to figure out the correct syntax for
this type of script.
>feel free to give example
>
>Tim
>
>pre 'net stop "update service" '
>post 'start " update service" '
>pre 'net stop " World Wide Web Publishing Service" '
>post ' start " World Wide Web Publishing Service" '
>LANG AMENG
>DOMAIN ALL-LOCAL
>TCPSERVERADDRESS spf64.oit.state.nj.us
>PASSWORDACCESS GENERATE
>TCPCLIENTADDRESS 10.37.20.54
>NODENAME OITWSUS
>subdir yes
>replace prompt
>tcpb 32
>tcpw 63
>SCHEDMODE PROMPTED
>txnbytelimit 25600
>errorlogname c:\progra~1\tivoli\tsm\baclient\dsmerror.log
>SCHEDlogname c:\progra~1\tivoli\tsm\baclient\dsmsched.log
>errorlogretention 14
>schedlogretention 7
>tcpnodelay yes
>resourceutilization 3
>LARGECOMMbuffers yes
>CHANGINGRETRIES 2
>COMPRESSIon Yes
>BACKUPREG YES
>MANAGEDSERVICES WEBCLIENT SCHEDULE
>
>
>
>
>
>Lawrence Clark wrote:
>
>
>
>>where it is in the dsm.opt shouldn't matter, but since you want to
>>
>>
>stop
>
>
>>multiple processes and can only use one -preschedulecmd="my script""
>>you might want to think about defining a schedule that executes a
>>script to stop your processes, does the incremental, then restarts
>>them.
>>
>>
>>Policy Domain Name: SPAIX
>> Schedule Name: STATBKTRACK-FULL
>> Description: The weekly full backup of selected
>>tables on
>> STATDBMS using SQL-BACKTRACK
>> Action: Command
>> Options:
>> Objects: /home/sybase/dump/dbbkup.s
>>
>>
>>
>>
>>
>>
>>>>>Timothy.Hughes AT OIT.STATE.NJ DOT US 08/22/2007 11:04:57 AM >>>
>>>>>
>>>>>
>>>>>
>>>>>
>>Hello,
>>
>>I need to stop two services before the incremental backup runs then
>>restart the services once the backup completes. I know about the
>>prescheduled and postscheduled commands but have never used them.
>>Where do I insert the commands in dsm.opt file for this to excute
>>successfully? The following are the two services that need to be
>>stopped then restarted once backup completes can someone tell me where
>>I
>>
>>
>would
>
>
>>put in the dsm.opt file?
>>The dsm.opt file is below also.
>>
>>
>>1)Update Services
>>2) World Wide Web Publishing Service
>>
>>
>>
>>Thanks in advance for any help!
>>
>>TSM 5.3
>>TSM 5.3.4
>>AIX 5.3
>>
>>
>>
>>LANG AMENG
>>DOMAIN ALL-LOCAL
>>TCPSERVERADDRESS xxxx.xxx.xxxxxx.xx
>>PASSWORDACCESS GENERATE
>>TCPCLIENTADDRESS xx.xx.xx.xx
>>NODENAME OFSWTUS1
>>subdir yes
>>replace prompt
>>tcpb 32
>>tcpw 63
>>SCHEDMODE PROMPTED
>>txnbytelimit 25600
>>errorlogname c:\progra~1\tivoli\tsm\baclient\dsmerror.log
>>SCHEDlogname c:\progra~1\tivoli\tsm\baclient\dsmsched.log
>>errorlogretention 14
>>schedlogretention 7
>>tcpnodelay yes
>>resourceutilization 3
>>LARGECOMMbuffers yes
>>CHANGINGRETRIES 2
>>COMPRESSIon Yes
>>BACKUPREG YES
>>MANAGEDSERVICES WEBCLIENT SCHEDULE
>>
>>
>>The information contained in this electronic message and any
>>
>>
>attachments to this message are intended for the exclusive use of the
>addressee(s) and may contain information that is confidential,
>privileged, and/or otherwise exempt from disclosure under applicable
>law. If this electronic message is from an attorney or someone in the Legal
>Department, it may also contain confidential
attorney-client communications which may be privileged and protected from
disclosure.
>If you are not the intended recipient, be advised that you have
>received this message in error and that any use, dissemination,
>forwarding, printing, or copying is strictly prohibited. Please notify the
>New York State Thruway Authority immediately by either
responding to this e-mail or calling (518) 436-2700, and destroy all copies of
this message and any attachments.
>
>
>>
>>
>
>
>The information contained in this electronic message and any
>attachments to this message are intended for the exclusive use of the
>addressee(s) and may contain information that is confidential,
>privileged, and/or otherwise exempt from disclosure under applicable
>law. If this electronic message is from an attorney or someone in the Legal
>Department, it may also contain confidential
attorney-client communications which may be privileged and protected from
disclosure.
>If you are not the intended recipient, be advised that you have
>received this message in error and that any use, dissemination,
>forwarding, printing, or copying is strictly prohibited. Please notify the
>New York State Thruway Authority immediately by either
responding to this e-mail or calling (518) 436-2700, and destroy all copies of
this message and any attachments.
>
>
>This e-mail (including any attachments) is confidential and may be
>legally privileged. If you are not an intended recipient or an
>authorized representative of an intended recipient, you are prohibited
>from using, copying or distributing the information in this e-mail or its
>attachments. If you have received this e-mail in error,
please notify the sender immediately by return e-mail and delete all copies of
this message and any attachments.
>Thank you.
>
>
|