1 / 19

Tips & Tricks im MPE / iX

Tips & Tricks im MPE / iX. 2. Bad Dürkheimer HPe3000 MPE/iX Forum 4. September 2001 Pr ä sentation von Otto Neckermann Softwarebüro Dr. Neckermann Gunzenhausen. POSIX auf der HPe3000. Posix.1 ===> System Calls Posix.2 ===> Posix Shell

read
Download Presentation

Tips & Tricks im MPE / iX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tips & TricksimMPE /iX 2. Bad Dürkheimer HPe3000 MPE/iX Forum 4. September 2001 Präsentation von Otto Neckermann Softwarebüro Dr. Neckermann Gunzenhausen

  2. POSIX auf der HPe3000 • Posix.1 ===> System Calls • Posix.2 ===> Posix Shell • Voraussetzung für Posix .1 und Posix 2: ===> HFS Hierarchisches File System >> Tips & Tricks im MPE/iX <<

  3. MPE Accountstruktur ohne HFS >> Tips & Tricks im MPE/iX <<

  4. Accountstruktur integriert ins HFS >> Tips & Tricks im MPE/iX <<

  5. HFS Features • Directories auf allen hierarchischen Leveln • Files auf allen hierarchischen Leveln • Neue Konventionen für Dateinamen und Directorynamen • Dateinamenqualifizierung “von oben nach unten” • Neue Datei Typen • Bytestream Files • Linked Files • Device-Files • Pipes >> Tips & Tricks im MPE/iX <<

  6. Neue MPE Kommandos für HFS • :NEWDIR | :PURGEDIR | :LISTDIR • Anlegen und Verwalten von Posix Directories • :CHDIR | :SHOWVAR HPCWD • wechseln in ein Posix Directory • :FINDFILE | :FINDDIR • sucht Files/Directories unterhalb eines Directory • :LISTFILE ! • Ersetzt altes :LISTF • :NEWLINK | :PURGELINK • Definieren und Löschen eines Links auf eine Datei >> Tips & Tricks im MPE/iX <<

  7. Integration HFS und MPE Kommando Interpreter • (Fast) alle MPE Kommandos können HFS Files nutzen • Erforderlich hierfür: • Dateinamen nach HFS-Syntax mit Posix Pfadnamen angeben, d.h. die Namen müssen mit / (absoluter Pfad) oder ./ oder ../ (relativer Pfad) beginnen und “von oben nach unten” qualifiziert werden. • Gross-Kleinschreibung strikt beachten! • Einschränkungen: • einige alte CM Utilities (z.B. EDITOR und FCOPY) • :LISTF ist zu ersetzen durch :LISTFILE !!! >> Tips & Tricks im MPE/iX <<

  8. Nutzung von HFS Directories/Files (1) • Archivierung von Dateien • Dateien abspeichern mit Zeitstempel • !SETVAR LOGFILE “X” + LFT(HPDATETIME,15) !COPY TRAFILE, . /!LOGFILE (ergibt z.B. ==> ./X200109041150123) >> Tips & Tricks im MPE/iX <<

  9. Nutzung von HFS Directories/Files (2) • Archivierung von Joblisten • Tagesarchive anlegen • Joblisten mit sprechenden Namen ins Tagesarchiv ablegen >> Tips & Tricks im MPE/iX <<

  10. #Script XCPJOBL zum duplizieren von Joblisten #Festlegen und ggfls,. Neuanlegen des Copy Archives: setvar archdir "/tmp" + "/!hpyyyymmdd” if finfo(archdir,0) = FALSE newdir !archdir endif #Definieren der Filenamen: setvar jobspfile "!hpspoolid.OUT.HPSPOOL" setvar arcspfile "!archdir/!jobspfile-!hpuser.!hpaccount” #liefert etwa: /tmp/20010904/o4711-MGR.BUCHHLTG #Generieren und Streamen des Copyjobs: echo $job xcpjobl,!hpuser.!hpaccount;inpri=12 >>tempjob echo $pause job=#J!hpjobnum >>tempjob echo $copy !jobspfile,!arcspfile >>tempjob echo $altsec !arcspfile;addpair=(r:!hpuser.!hpaccount) >>tempjob echo $set stdlist=delete >>tempjob echo $eoj >>tempjob stream tempjob,$ >> Tips & Tricks im MPE/iX <<

  11. Posix Shell Kommandos • Es gibt ca. 200 Posix Shell Kommandos • ca. 50 interne “built-in” Kommandos und Kontrollbefehle • ca. 150 “nicht eingebaute” Utilities, die die Posix Shell als externe NMPRG-Programme aufruft • Die externen Utilities sind als “normale” MPE Programme (native Mode) implementiert • Sie befinden sich in der Gruppe HPBIN.SYS (mit Link aus dem Directory /bin/) >> Tips & Tricks im MPE/iX <<

  12. Aufruf von Posix Kommandos durch MPE Command Interpreter • Aufruf als “normales” Programm der Gruppe HPBIN.SYS (oder alternativ mit Link: /bin/….) • Parameter werden beim Programmaufruf als Infostring mitgegeben (oder einfach in Hochkomma angefügt) • Standard-IO-Umlenkung (>, <) möglich • Funktionalität bei Aufruf durch den CI oft eingeschränkt oder sogar unmöglich • es fehlen die Umgebungsvariablen der Posix Shell • keine “Vorverarbeitung” durch die Posix Shell • Programm setzt Variable CJCW als Returncode • Tipp: HPPATH um “,HPBIN.SYS” erweitern! >> Tips & Tricks im MPE/iX <<

  13. Nutzung von Posix Shell Utilities (1) Datei Kommando >diff • >diff • zeigt Unterschiede zwischen zwei Dateien • sehr viel besser als FCOPY …..;COMPARE • Beispiele (alle tun das Gleiche): • diff.hpbin.sys “./SOURCE1 ./SOURCE2” (Parameter in Hochkomma, Grossschreibung beachten!) • /bin/diff “./SOURCE1 ./SOURCE2” (Kleinschreibung des Kommandos beachten!) • DIFF.HPBIN.SYS “SOURCE1 SOURCE2” (HFS-Syntax-Trigger . / kann manchmal weggelassen werden) >> Tips & Tricks im MPE/iX <<

  14. Nutzung von Posix Shell Utilities (2) Datei Kommando >grep • >grep • sucht in einer oder mehreren Eingabedateien nach Zeichenfolgen • kann dabei “reguläre Ausdrucke” verwenden (für Spezialisten!) • Eingabedatei kann per Eingabeumlenkung angesprochen werden • Aufruf vom MPE aus erlaubt nur eine einzige Eingabedatei (keine Wildcards erlaubt) >> Tips & Tricks im MPE/iX <<

  15. >grep: Suche nach Job Aborts: purge spfiles,temp >$null build spfiles;temp;msg listspf o@;seleq=[filedes=$stdlist] >spfiles while finfo("spfiles",19)>0 input zeile <spfiles if lft(zeile,1) = "#" setvar spfname "/HPSPOOL/OUT/" + rtrim(str(zeile,2,8)) grep.hpbin.sys "REMAINDER OF JOB FLUSHED." <!spfname >$null if cjcw = 0 echo Job aborted: echo !zeile endif endif endwhile >> Tips & Tricks im MPE/iX <<

  16. >grep und >wc: Feststellen, ob ein Job bereits aktiv ist Script XRUNONCE: setvar myjob "!hpjobname,!hpuser.!hpaccount" purge yymj@,temp >$null showjob job=!myjob;EXEC >yymj grep.hpbin.sys "!myjob" <yymj >yymjgrep wc.hpbin.sys "-l" <yymjgrep >yymjanz input anzahl <yymjanz setvar anzahl !anzahl if anzahl > 1 echo !myjob ist !anzahl mal angemeldet! if "!hpjobtype"= "J" echo = wir verabschieden uns..... eoj endif endif >> Tips & Tricks im MPE/iX <<

  17. Nutzung von Posix Shell Utilities (3) einfache Datei Kommandos • >cp,mv und >rm • ähnlich den MPE Kommandos :COPY, :RENAME und :PURGE • jedoch wesentlich mächtiger: Sie können auch Files bearbeiten, die gerade im Zugriff sind: Es gibt keinen File System Error 90 (exclusive violation)! • Nutzbar zum Austauschen von Programmen, UDC Files, Programmbibliotheken (XL’s), Form Files etc. im laufenden Betrieb! >> Tips & Tricks im MPE/iX <<

  18. Nutzung von Posix Shell Utilities (4) Archivierung mit >tar • >tar • Tape Archiv Utility (auch für Platten Archive) #Beispielscript XMPETAR für MPE Aufruf von TAR: parm fileset=./@, archiv=tarfile purge yylf6@,temp >$null listfile !fileset ,6 >yylf6 cut.hpbin.sys '-f2 -d " "' <yylf6 >yylf6cut tar.hpbin.sys "-cvf !archiv -” <yylf6cut >> Tips & Tricks im MPE/iX <<

  19. Zusammenfassung und Ausblick • Nutzung des HFS mit dem MPE Kommando Interpreter • Nutzung von einzelnen Posix Kommandos als “standalone” Utilities im MPE • Websites mit MPE-Scripts: • http://www.fourdiamonds.net/hp3000/commandfiles.html • http://jazz.external.hp.com/src/scripts • Literatur: • MPE/iX System Administration Handbook John Diercks, Prentice Hall, 2002, ISBN: 0-13-030540-5 >> Tips & Tricks im MPE/iX <<

More Related