|  | 
 
  
    | 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 2002Posts: 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 2001Posts: 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 2002Posts: 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
 
 |  |  |  |