10 printHelpAndExit() if ($opt_h)||(@ARGV<1);
12 my $server = shift @ARGV;
14 $spool = "/var/spool/pbs" if !$spool;
15 die "pbsconfig: PBS spool directory $spool does not exist!\n" if ! -d $spool;
17 my $serverName = $server;
18 my @server = split(/\./,$server);
19 die "pbsconfig: PBS server name [$server] should be fully qualified, eg [yourhost.yourdomain.com]\n" if @server < 2;
21 my $restricted = "*.".join(".",@server);
23 my $cpuinfo = `cat /proc/cpuinfo`;
24 my @cpuinfo = split(/\n/,$cpuinfo);
26 my $numcpu = scalar grep(/processor/,@cpuinfo);
27 my $cputype = join(", ",getvalues("model name",@cpuinfo));
28 my $cpuspeed = join(", ",getvalues("cpu MHz",@cpuinfo));
30 print "PBS Server name: $serverName\n";
31 print "PBS Subnet: $restricted\n";
32 print "Number of CPUs: $numcpu\n";
33 print "CPU type: $cputype\n";
34 print "CPU speed: $cpuspeed\n";
36 my $ideal_load = $numcpu - 0.1;
37 my $max_load = $numcpu - 0.1;
39 my $momconfig = "$spool/mom_priv/config";
42 $mom = `cat $momconfig` if -r $momconfig;
44 #print "old [$mom]\n";
46 $mom = insert($mom,'$clienthost',$serverName);
47 $mom = insert($mom,'$restricted',$restricted);
48 $mom = insert($mom,'$usecp', "*:/ /");
49 $mom = insert($mom,'$ideal_load',$numcpu - 0.1);
50 $mom = insert($mom,'$max_load', $numcpu - 0.1);
52 #print "new [$mom]\n";
54 writeFile($momconfig,$mom);
55 writeFile("$spool/default_server","$serverName\n");
56 writeFile("$spool/server_name","$serverName\n");
58 system "/etc/rc.d/init.d/pbs_mom restart";
64 my $filename = shift @_;
65 my $content = shift @_;
66 open(TMPOUT,">$filename") || die "pbsconfig: Cannot write to $filename: $!\n";
67 print TMPOUT $content;
77 return $cfg . "$key $value\n" if ! ($cfg =~ /\Q$key\E/);
79 $cfg =~ s/^\Q$key\E\b.*$/$key $value/m;
86 print STDERR "Usage: pbsconfig [-h] [-s spooldir] servername\n";
97 next if !($v =~ /$key/);
98 my ($key,$value) = split(/: /,$v);