Вторник, 26.09.2017, 01:27
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Форма входа
Логин:
Пароль:
Поиск

Меню сайта

Категории раздела
Общие статьи [18]
Переводные статьи [6]
Примеры [8]
Эмуляторы [2]
Linux [3]
Презентации по IBM DS [6]
О.Ю.Еремин. Материалы по технологиям хранения и восстановления информации.

Наш опрос
О регистрации на сайте с помощью соцсетей.
Всего ответов: 12

Метки
EGL ODM бизнес правила программирование SOA arcati блоги журналы Каталог мейнфреймы журнал z/os Freeware VM bigdata nosql MVS OS zOS SLES zLinux мейнфрейм Хабрахабр 50лет документы хранилище Java EE liberty WebSphere history сообщение Форум DFSORT Hercules VSAM отчётность Linux Analytics Accelerator Netezza IMS IBM IDC продажа CHKPT GSam XRST гипервизор KVM Shutdown #hollywar mainframe Вакансии Санкт-Петербург пример Assembler LHI vs XR instruction to clear GPR z Seies CPU performance семинар впечатление доступность ЦБ цены аутсорсинг BMC CMS ZVM санкции Rockwell история z13 мобильность DB2 Java Coupling Facility Parallel Sysplex WebSphere AS MVT ОС ЕС ссср Tape VTL Вакансия БЛОГ Линукс Новое статьи Люксофт Польша Работа

Статистика

Главная » Статьи » Мейнфреймы » Примеры


Выдача команд CP из-под гостевого MVS
Такая потребность - выдать иногда команду CP из-под гостевого MVS - возникает хотя бы время от времени. Такие утилиты и появлялись время от времени на разных сайтах в Сети. 

Программа от Джима Эллиота

Данный вариант вызывает доверие потому, что его автором является штатный разработчик IBM (хотя, как мы понимаем, это ничего особо не гарантирует).

Его страница на сайте IBM-овских разработчиков – здесь. Там много интересных ссылок и страниц, все рекомендую к прочтению. Страница по описываемой утилите – тут. На странице есть ссылка на исходный текст утилитки, или можно ткнуть мышью здесь.
Собственно, установка утилиты примитивна. Запускаетя такое задание –  //ASM JOB (1234,567890),'TEST',MSGLEVEL=(1,1),NOTIFY=SYSUID, // MSGCLASS=A,TIME=(,30),CLASS=A //MVSCPCMD EXEC ASMACL //C.SYSIN DD DSN=MVS.SOURCE.TEST.ASM(MVSCPCMD),DISP=SHR //L.SYSLMOD DD DSN=SYS1.USER.TEST.LOAD,DISP=SHR //L.SYSIN DD * SETCODE AC(1) NAME MVSCPCMD(R)
Или типа того, что приведено на странице у Джима. Получается загрузочный модуль, который надо авторизовать обязательно (AC(1)), ну и лучше поместить его туда, где он будет доступен для вызова.
Далее используем в заданиях таким образом.

//STEPNAME EXEC PGM=MVSCPCMD,PARM='some CP command here'

Программа от Григория Близнеца

(От редактора сайта: Григорию лично я доверяю не меньше, чем Эллиоту. Сам, как оказалось, пользовался некоторое время его программой.)
Программы и вспомогательные материалы лежат тут.

Назначение: 
Пакет содержит три программы: RUNAUTH, HOSTCMD и SYSCMD. С помощью первой программы из процедуры, выполняющейся в неавторизованной среде TSO (CLIST или REXX) может быть вызвана авторизованная программа, в частности, программа HOSTCMD или SYSCMD (прямой вызов такой программы приведет к ее аварийному завершению с кодом S047). 

Вторая программа (HOSTCMD) позволяет выполнить команду CP или команду Hercules, передаваемую как параметр, из z/OS (OS/390), выполняющейся в виртуальной машине (VM) или в эмулируемой среде (Hercules). 

Третья программа (SYSCMD) позволяет выполнить из программы или процедуры команду z/OS, аналогично сервису TSO CONSOLE. 

Установка: 
- Поместите исходные тексты прилагаемых программ (runauth.asm, hostcmd.asm и syscmd.asm) в любой библиотечный набор данных с RECFM=F[B],LRECL=80; 

- Получите загрузочные модули программ используя прилагаемые заготовки заданий (runauth.make, hostcmd.make и syscmd.make). В заготовках заданий, укажите правильный оператор JOB, имя библиотечного набора данных с исходными текстами и имя библиотечного набора данных для помещения загрузочных модулей (изменить достаточно только операторы SET в начале задания); 

- Программы HOSTCMD и SYSCMD должны находиться в APF-авторизованном библиотечном наборе данных. Программа RUNAUTH не является авторизованной; 

- Измените раздел IKJTSO00 в SYS1.PARMLIB или его эквиваленте добавив HOSTCMD и SYSCMD в список команд, перечисленных в секции AUTHTSF, см. прилагаемый IKJTSO00.parmlib; 

- Активизируйте изменения PARMLIB с помощью SET IKJTSO=xx, SETPROG и F LLA,REFRESH либо перезагрузите z/OS.

Использование: 
- Примеры использования HOSTCMD и SYSCMD в заданиях: 
// EXEC PGM=HOSTCMD,PARM='команда_CP_или_Hercules' 
// EXEC PGM=SYSCMD,PARM='команда_z/OS' 
см. также задания hostcmd.run, syscmd.run 

- Примеры использования HOSTCMD в процедуре TSO: 
CMD = 'host_command' 
PGM = 'HOSTCMD' 
address LINKMVS RUNAUTH 'PGM CMD' 
CMD = 'MVS_command' 
PGM = 'SYSCMD' 
address LINKMVS RUNAUTH 'PGM CMD' 
or to get a host command responce: 
CMD = 'host_command' 
PGM = 'HOSTCMD' 
RESPONCE = COPIES('00'x, 4096) 
address LINKMVS RUNAUTH 'PGM CMD RESPONCE' 


См. также runauth.clist и задание runauth.run. 

Качать отсюда.

Категория: Примеры | Добавил: akost (25.02.2011) | Автор: Костырко Александр
Просмотров: 1587 | Комментарии: 9 | Теги: VM, MVS, пример, Assembler


Всего комментариев: 9
1  
Еще одна альтернатива: http://tech.groups.yahoo.com/group/hercules-390/files/ файл hostcmd.zip

Выполнение команд CP, Hercules и z/OS. Мое творчество biggrin
Может использоваться как в задании так и в процедуре, в последнем случае для анализа доступен ответ CP / Hercules.
Документация и исходные тексты включены.


2  
Ну так отпишите его более-менее подробно на русском, и давайте выложим тут. А то я переиодически теряю yahoo-учетные записи, приходится восстанавливать, так что вот прям сейчас даже не могу прочитать, что там в цитируемом файле.

3  
Назначение:
Пакет содержит три программы: RUNAUTH, HOSTCMD и SYSCMD. С помощью
первой программы из процедуры, выполняющейся в неавторизованной среде
TSO (CLIST или REXX) может быть вызвана авторизованная программа, в
частности, программа HOSTCMD или SYSCMD (прямой вызов такой программы
приведет к ее аварийному завершению с кодом S047).
Вторая программа (HOSTCMD) позволяет выполнить команду CP или команду
Hercules, передаваемую как параметр, из z/OS (OS/390), выполняющейся в
виртуальной машине (VM) или в эмулируемой среде (Hercules).
Третья программа (SYSCMD) позволяет выполнить из программы или процедуры
команду z/OS, аналогично сервису TSO CONSOLE.

Установка:
- Поместите исходные тексты прилагаемых программ (runauth.asm, hostcmd.asm
и syscmd.asm) в любой библиотечный набор данных с RECFM=F[B],LRECL=80;
- Получите загрузочные модули программ используя прилагаемые заготовки
заданий (runauth.make, hostcmd.make и syscmd.make). В заготовках заданий
укажите правильный оператор JOB, имя библиотечного набора данных с исходными
текстами и имя библиотечного набора данных для помещения загрузочных модулей
(изменить достаточно только операторы SET в начале задания);
- Программы HOSTCMD и SYSCMD должны находиться в APF-авторизованном библиотечном
наборе данных. Программа RUNAUTH не является авторизованной;
- Измените раздел IKJTSO00 в SYS1.PARMLIB или его эквиваленте добавив
HOSTCMD и SYSCMD в список команд, перечисленных в секции AUTHTSF, см. прилагаемый
IKJTSO00.parmlib;
- Активизируйте изменения PARMLIB с помощью SET IKJTSO=xx, SETPROG и F LLA,REFRESH
либо перезагрузите z/OS.

Использование:
- Примеры использования HOSTCMD и SYSCMD в заданиях:
// EXEC PGM=HOSTCMD,PARM='команда_CP_или_Hercules'
// EXEC PGM=SYSCMD,PARM='команда_z/OS'
см. также задания hostcmd.run, syscmd.run
- Примеры использования HOSTCMD в процедуре TSO:
CMD = 'host_command'
PGM = 'HOSTCMD'
address LINKMVS RUNAUTH 'PGM CMD'
CMD = 'MVS_command'
PGM = 'SYSCMD'
address LINKMVS RUNAUTH 'PGM CMD'
or to get a host command responce:
CMD = 'host_command'
PGM = 'HOSTCMD'
RESPONCE = COPIES('00'x, 4096)
address LINKMVS RUNAUTH 'PGM CMD RESPONCE'
См. также runauth.clist и задание runauth.run.

Файл куда прикрепить?


4  
мне в почту, а я положу на сайт и сделаю ссылку. все это размещу в этой же статье. почта - в профиле пользователя. если не видно - напишу.

5  
Размещено

6  
спасибо smile

7  
Так Вам спасибо, программа-то вполне полезная.

8  
WOW! Совершенно случайно обнаружил, что RUNAUTH/HOSTCMD/SYSCMD включена в CBTTAPE surprised
http://www.cbttape.org/cbtdowns.htm File #845
За исключением русского readme материалы полностью соответствуют выложенным здесь.
Интересно, с чьей подачи это попало в CBTTAPE? я выкладывал материалы в форум Hercules

9  
Григорий! Это международное признание, как считаете? smile

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Яндекс.Метрика