a28314c826
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@424 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
41 lines
1.0 KiB
Perl
Executable File
41 lines
1.0 KiB
Perl
Executable File
#!/usr/bin/env perl
|
|
# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
|
|
|
|
BEGIN
|
|
{
|
|
$::XCATROOT = $ENV{'XCATROOT'} ? $ENV{'XCATROOT'} : '/opt/xcat';
|
|
}
|
|
use lib "$::XCATROOT/lib/perl/xCAT_monitoring/rmc";
|
|
|
|
use strict;
|
|
use locale;
|
|
|
|
use Getopt::Std;
|
|
use IPC::SysV qw(IPC_STAT S_IRWXU IPC_PRIVATE IPC_CREAT S_IRUSR S_IWUSR );
|
|
use IPC::Msg;
|
|
use NodeUtils;
|
|
|
|
my $m = ord('xcat_rmc');
|
|
my $key = IPC::SysV::ftok("/var/adm/ras/errlog", $m);
|
|
|
|
my $msg = new IPC::Msg($key, IPC_CREAT|S_IRUSR|S_IWUSR );
|
|
my $message = join " ", @ARGV;
|
|
my $stat = $msg->stat;
|
|
my $qcurrentlen = $$stat[5];
|
|
if ($qcurrentlen >= 10000) {
|
|
if (!-d "/var/opt/xcat_rmc_err_mon/") {
|
|
my $cmd = "mkdir -p \"/var/opt/xcat_rmc_err_mon\"";
|
|
NodeUtils->runcmd($cmd, -1);
|
|
}
|
|
open(FILE, ">>/var/opt/xcat_rmc_err_mon/errmsgqueerr.log");
|
|
my $sdate = `/bin/date`;
|
|
chomp $sdate;
|
|
print FILE "$sdate:\n";
|
|
print FILE "Can not write the message to queue because the queue is almost full, the message content is: $message\n\n\n";
|
|
close FILE;
|
|
exit 0;
|
|
}
|
|
$msg->snd(1, "$message");
|
|
|
|
exit 0;
|