114414594SDavid du Colombier#!/bin/rc 2*c717cbbdSDavid du Colombier# C system - connect to system's console 3*c717cbbdSDavid du Colombierrfork en 46b6b9ac8SDavid du Colombieroflag=() 5425afbabSDavid du Colombieropt=-r 66b6b9ac8SDavid du Colombierwhile(~ $1 -*) 714414594SDavid du Colombier switch($1){ 814414594SDavid du Colombier case -r 914414594SDavid du Colombier shift 1014414594SDavid du Colombier opt='' 116b6b9ac8SDavid du Colombier case -O -o 126b6b9ac8SDavid du Colombier oflag=-O 136b6b9ac8SDavid du Colombier shift 1414414594SDavid du Colombier case * 1514414594SDavid du Colombier opt=-r 166b6b9ac8SDavid du Colombier shift 1714414594SDavid du Colombier } 1814414594SDavid du Colombier 196b6b9ac8SDavid du Colombierswitch($1){ 20ab3dc52fSDavid du Colombiercase ella 21ab3dc52fSDavid du Colombier exec C office0 22ab3dc52fSDavid du Colombier exit 236b6b9ac8SDavid du Colombiercase erika 246b6b9ac8SDavid du Colombier exec C office1 256b6b9ac8SDavid du Colombier exit 26ab3dc52fSDavid du Colombiercase * 276b6b9ac8SDavid du Colombier # look for server in /lib/ndb 286b6b9ac8SDavid du Colombier server=`{ndb/query sys $1 console} 296b6b9ac8SDavid du Colombier switch($server){ 306b6b9ac8SDavid du Colombier case '' 316b6b9ac8SDavid du Colombier echo C: unknown console server for $1 326b6b9ac8SDavid du Colombier exit 1 336b6b9ac8SDavid du Colombier } 34ab3dc52fSDavid du Colombier} 356b6b9ac8SDavid du Colombier 366b6b9ac8SDavid du Colombier# can't cpu to old servers any more 376b6b9ac8SDavid du Colombierswitch($server){ 386b6b9ac8SDavid du Colombiercase dinar bones 396b6b9ac8SDavid du Colombier ssh $server C $1 406b6b9ac8SDavid du Colombier exit 0 416b6b9ac8SDavid du Colombier} 4214414594SDavid du Colombier 4314414594SDavid du Colombierif(! test -e /mnt/consoles/$1){ 4414414594SDavid du Colombier switch($sysname){ 4514414594SDavid du Colombier case $server 4614414594SDavid du Colombier mount /srv/consoles /mnt/consoles 4714414594SDavid du Colombier case * 486b6b9ac8SDavid du Colombier import $oflag $server /mnt/consoles 4914414594SDavid du Colombier } 5014414594SDavid du Colombier} 5114414594SDavid du Colombier 5214414594SDavid du Colombierif(! test -e /mnt/consoles/$1 && test -e /srv/consoles) 5314414594SDavid du Colombier mount /srv/consoles /mnt/consoles 5414414594SDavid du Colombier 5514414594SDavid du Colombierif(! test -e /mnt/consoles/$1){ 5614414594SDavid du Colombier echo console not found 5714414594SDavid du Colombier exit 'console not found' 5814414594SDavid du Colombier} 5914414594SDavid du Colombier 60*c717cbbdSDavid du Colombierif (test -w /dev/label) { 61*c717cbbdSDavid du Colombier olab=`{cat /dev/label} 62*c717cbbdSDavid du Colombier label $1 63*c717cbbdSDavid du Colombier} 6414414594SDavid du Colombiercon -l $opt /mnt/consoles/$1 65*c717cbbdSDavid du Colombierif (test -w /dev/label) 66*c717cbbdSDavid du Colombier label $olab 67