68 lines · 936 B · Text
RawDownload
#!/bin/rcrfork en flagfmt=''args='sys ...'if(! ifs=() eval `{aux/getflags $*} || ~ $#* 0){	aux/usage	exit usage} fn wti {	{		echo /boot $2		sleep 2	} | telnet $1 >/dev/null >[2=1]} fn iopower {	port=`{ndb/query -f $ndbfile power $2 port}	if(~ $#port 0){		echo P: iopower: unknown port >[1=2]		exit bad	}	{		echo		echo of $port		sleep 1		echo on $port	} | C $1 >/dev/null} fn apc {	{		echo apc		# user		echo apc		# password		echo olReboot $2		sleep 1	} | telnet $1 >/dev/null >[2=1]} types=(wti iopower apc) fn P{	server=()	ndbfile=()	for(i in /lib/ndb/powerdb.*){		type=`{ndb/query -f $i power $1 type}		if(! ~ $#type 0){			server=` '.' {echo -n $i}			server=$server(2)			ndbfile=$i			break		}	}	if(~ $#server 0){		echo P: unknown power switch for $1		exit unknown	}	if(! ~ $type $types){		echo P: unknown power switch type $type		exit unknown	} 	$type $server $1} for(i)	P $i