|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
  |
|
MQSeries Objects Backup |
View previous topic :: View next topic |
Author |
Message
|
gpklos |
Posted: Tue Sep 03, 2002 5:33 am Post subject: MQSeries Objects Backup |
|
|
Centurion
Joined: 24 May 2002 Posts: 108
|
We are currently running MQSeries 5.2 on os390, Windows 2000 and numerous
unix boxes. We have written our own admin tools to create, update, and
delete mq objects. One thing we haven't done is any form of backup of mq
objects. All of our platforms are backed up, but management wants us to
have a way to restore all mq objects in case we would lose the definitions.
How are other shops keeping backups of their mq objects? Does anyone use
homegrown solutions or do you use tools provided by outside vendors? We
thought of just dumping all definitions to a text file using an unload
utility that comes with one of the service packs. Then we could restore
using the text files. Any ideas?
Gary |
|
Back to top |
|
 |
jhalstead |
Posted: Tue Sep 03, 2002 6:03 am Post subject: |
|
|
 Master
Joined: 16 Aug 2001 Posts: 258 Location: London
|
Try and post question in a single forum only...
A couple of simple options, put all defintions in a text file, this allows comments to be added when changes are made, additionally this can be kept in a version management tool....
Or use support pack MS03 to take periodic dumps.
http://www-3.ibm.com/software/ts/mqseries/txppacs/ms03.html
In both cases this will not backup the MQSeries security settings, but you could just put this in a script anyway... |
|
Back to top |
|
 |
mworsham |
Posted: Thu Sep 12, 2002 7:00 am Post subject: MQ Dump Utility |
|
|
 Novice
Joined: 12 Sep 2002 Posts: 19 Location: Augusta, GA
|
Here is an MQ dump utility I designed for Windows NT...
TITLE=MQ Object Dump Utility Ver 1.0
@Echo Off
cls
Echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
ECho º MQ Object Dump Utility Ver 1.0. for IBM MQ Series ver 5.x º
ECho ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
Echo º Program Written By Michael Worsham@Intermedia/Worldcom º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Echo Launching MQ Dump Engine....
If {%1}=={} (
Echo No Queue Manager Specified....
Echo Syntax %0 ^<Queue Manager Name^> ^</R^>
goto :END
)
If /I {%1}=={/R} (
Echo No Queue Manager Specified....
Echo Syntax %0 ^<Queue Manager Name^> ^</R^>
goto :END
)
Echo Checking for Queue Manager %1....
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
if exist QMCheck.log (
del QMCheck.log
)
Echo End 2> NUL | runmqsc %1 | find "MQSeries queue manager" > QMCheck.log
for /f %%i in (QMCheck.Log) do (
if not {%%i}=={} (
Echo MQ Error:
Type QmCheck.log
goto :END
)
)
Echo Analyzing Existing MQ Objects Info in %1....
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ECHO DIS QL(*) USAGE | RUNMQSC %1 | FIND /I "QUEUE(" | FIND /I /V "QUEUE(SYSTEM." | FIND /I /V "USAGE(XMITQ)"| FIND /I "QUEUE(" | sort > QL.dmp
Echo Following Local Queues Found....
Type QL.dmp
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ECHO DIS QL(*) USAGE | RUNMQSC %1 | FIND /I "QUEUE(" | FIND /I /V "QUEUE(SYSTEM." | FIND /I "USAGE(XMITQ)" | FIND /I "QUEUE(" | sort > QX.dmp
Echo Following Local XMIT Queues Found....
Type QX.Dmp
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ECHO DIS QR(*) USAGE | RUNMQSC %1 | FIND /I "QUEUE(" | FIND /I /V "QUEUE(SYSTEM." | FIND /I "QUEUE("| sort > QR.dmp
Echo Following Remote Queues Found....
Type QR.dmp
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ECHO DIS CHL(*) CHLTYPE(RCVR) | RUNMQSC %1 |FIND /I "CHANNEL(" | FIND /I /V "CHANNEL(SYSTEM." |FIND /I "CHANNEL(" | sort >CR.dmp
Echo Following Reciever Channels Found....
Type CR.Dmp
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ECHO DIS CHL(*) CHLTYPE(SDR) | RUNMQSC %1 |FIND /I "CHANNEL(" | FIND /I /V "CHANNEL(SYSTEM." |FIND /I "CHANNEL(" | sort >CS.dmp
Echo Following Sender Channels Found....
Type CS.Dmp
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
Echo Processing Local Queues....
Echo ****[Local Queues]**** > %1.Obj
FOR /F "tokens=1 delims== " %%i IN (QL.dmp) DO (
FOR /F "tokens=1,2 delims==(" %%j IN ('Echo %%i') DO (
FOR /F "tokens=1 delims==)" %%l IN ('Echo %%k') DO (
ECHO DIS QL^(%%l^) DEFPSIST | RUNMQSC %1 | FIND /I "DEFPSIST(" > QL.tmp
for /F "tokens=2 delims== " %%m IN (QL.tmp) DO (
Echo %%m > nul
)
Echo Constructing Definition for Local Queue %%l....
Echo def ql^(%%l^) %%m replace >>%1.Obj
)
)
)
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
Echo Processing Remote Queues....
Echo ****[Remote Queues]**** >> %1.Obj
FOR /F "tokens=1 delims== " %%i IN (QR.dmp) DO (
FOR /F "tokens=1,2 delims==(" %%j IN ('Echo %%i') DO (
FOR /F "tokens=1 delims==)" %%l IN ('Echo %%k') DO (
ECHO DIS QR^(%%l^) RNAME | RUNMQSC %1 |FIND /I "RNAME(" > Qr.tmp
for /F "tokens=1 delims== " %%m IN (Qr.tmp) DO (
Echo %%m >nul
)
ECHO DIS QR^(%%l^) RQMNAME | RUNMQSC %1 |FIND /I "RQMNAME(" > Qr.tmp
for /F "tokens=1 delims== " %%n IN (Qr.tmp) DO (
Echo %%n >nul
)
ECHO DIS QR^(%%l^) XMITQ | RUNMQSC %1 |FIND /I "XMITQ(" > Qr.tmp
for /F "tokens=1 delims== " %%o IN (Qr.tmp) DO (
Echo %%o > nul
)
ECHO DIS QR^(%%l^) DEFPSIST | RUNMQSC %1 |FIND /I "DEFPSIST(" > Qr.tmp
for /F "tokens=2 delims== " %%p IN (Qr.tmp) DO (
Echo %%p > nul
)
Echo Constructing Definition for Remote Queue %%l....
Echo def qr^(%%l^) %%m %%n %%o %%p replace >>%1.Obj
)
)
)
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
Echo Processing Local XMIT Queue....
Echo ****[Local XMIT Queues]**** >> %1.Obj
FOR /F "tokens=1 delims== " %%i IN (QX.dmp) DO (
FOR /F "tokens=1,2 delims==(" %%j IN ('Echo %%i') DO (
FOR /F "tokens=1 delims==)" %%l IN ('Echo %%k') DO (
ECHO DIS QL^(%%l^) USAGE | RUNMQSC %1 |FIND /I "USAGE(" > Qx.tmp
for /F "tokens=2 delims== " %%m IN (QX.tmp) DO (
Echo %%m > nul
)
ECHO DIS QL^(%%l^) DEFPSIST | RUNMQSC %1 |FIND /I "DEFPSIST(" > Qx.tmp
for /F "tokens=2 delims== " %%n IN (QX.tmp) DO (
Echo %%n > nul
)
ECHO DIS QL^(%%l^) MSGDLVSQ | RUNMQSC %1 |FIND /I "MSGDLVSQ(" > Qx.tmp
for /F "tokens=2 delims== " %%o IN (QX.tmp) DO (
Echo %%o > nul
)
Echo Constructing Definition for Local XMIT Queue %%l....
Echo def ql^(%%l^) %%m %%n %%o replace >>%1.Obj
)
)
)
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
Echo Processing Sender Channels....
Echo ****[Sender Channels]**** >> %1.Obj
FOR /F "tokens=1 delims== " %%i IN (CS.dmp) DO (
FOR /F "tokens=1,2 delims==(" %%j IN ('Echo %%i') DO (
FOR /F "tokens=1 delims==)" %%l IN ('Echo %%k') DO (
ECHO DIS CHL^(%%l^) CHLTYPE | runmqsc %1 |FIND /I "CHLTYPE(" > CS.tmp
for /F "tokens=2 delims== " %%m IN (CS.tmp) DO (
Echo %%m > NUL
)
ECHO DIS CHL^(%%l^) TRPTYPE | runmqsc %1 |FIND /I "TRPTYPE(" > CS.tmp
for /F "tokens=2 delims== " %%n IN (CS.tmp) DO (
Echo %%n > NUL
)
ECHO DIS CHL^(%%l^) DISCINT | runmqsc %1 |FIND /I "DISCINT(" > CS.tmp
for /F "tokens=2 delims== " %%o IN (CS.tmp) DO (
Echo %%o > NUL
)
ECHO DIS CHL^(%%l^) CONNAME | runmqsc %1 |FIND /I "CONNAME(" > CS.tmp
for /F "tokens=2 delims== " %%p IN (CS.tmp) DO (
for /F "tokens=1,2,3 delims=(" %%x IN ('Echo %%p') DO (
for /F "tokens=1 delims==)" %%a in ('Echo %%z') DO (
Echo %%x^(^'%%y^(%%a^)^'^) > CSCon.tmp
)
)
)
for /F "tokens=1 delims== " %%p IN (CSCon.tmp) DO (
Echo %%p > nul
)
ECHO DIS CHL^(%%l^) XMITQ | runmqsc %1 |FIND /I "XMITQ(" > CS.tmp
for /F "tokens=2 delims== " %%q IN (CS.tmp) DO (
Echo %%q >NUL
)
Echo Constructing Definition for Sender Channel %%l....
Echo def chl^(%%l^) %%m %%n %%o %%p %%q replace >>%1.Obj
)
)
)
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
Echo Processing Reciever Channels....
Echo ****[Reciever Channels]**** >> %1.Obj
FOR /F "tokens=1 delims== " %%i IN (CR.dmp) DO (
FOR /F "tokens=1,2 delims==(" %%j IN ('Echo %%i') DO (
FOR /F "tokens=1 delims==)" %%l IN ('Echo %%k') DO (
ECHO DIS CHL^(%%l^) CHLTYPE | runmqsc %1 |FIND /I "CHLTYPE(" > CR.tmp
for /F "tokens=2 delims== " %%m IN (CR.tmp) DO (
Echo %%m > nul
)
ECHO DIS CHL^(%%l^) TRPTYPE | runmqsc %1 |FIND /I "TRPTYPE(" > CR.tmp
for /F "tokens=2 delims== " %%n IN (CR.tmp) DO (
Echo %%n > nul
)
Echo Constructing Definition for Reciever Channel %%l....
Echo def chl^(%%l^) %%m %%n replace >>%1.Obj
)
)
)
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
Echo Object File %1.Obj Generation Successfully Completed.
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
IF /I {%2}=={/R} (
Echo Retaining Temporary Files....
goto :END
) Else (
Echo Deleting Temporary Processing File....
Del *.dmp *.tmp *.log
)
:END
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
Echo MQ Dump Engine Ended....
Echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
If you need one for Unix/HP boxes, let me know and I will post it as well.
-- M |
|
Back to top |
|
 |
|
|
  |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|