Tuesday, October 29, 2013

How to Empty Postfix Mail Queue

mailq | tail +2 | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ($8 == "email@address.com" && $9 == "") print $1 } ' | tr -d '*!' | postsuper -d - sudo postsuper -d ALL ifconfig | grep netmask | grep -v 127.0.0.1 | awk {'print $2'}L

Monday, October 28, 2013

Saturday, October 5, 2013

How to count mail on queue

sudo find /var/spool/postfix/deferred/. ! -name . ! -name '?' -print | wc -l

Monday, July 8, 2013

Sending and Receiving Data use Java socket programming

//java socket client example
import java.io.*;
import java.net.*;

public class socket_client
{
    public static void main(String[] args) throws IOException
    {
        Socket s = new Socket();
    String host = "dev.easy-conn.com";
    PrintWriter s_out = null;
    BufferedReader s_in = null;
       
        try
        {
        s.connect(new InetSocketAddress(host , 6557));
        System.out.println("Connected");
           
        //writer for socket
            s_out = new PrintWriter( s.getOutputStream(), true);
            //reader for socket
            s_in = new BufferedReader(new InputStreamReader(s.getInputStream()));
        }
       
        //Host not found
        catch (UnknownHostException e)
        {
            System.err.println("Don't know about host : " + host);
            System.exit(1);
        }
       
        //Send message to server
    String message = "GET hosts\r\n\r\n";
    s_out.println( message );
           
    System.out.println("Message send");
       
    //Get response from server
    String response;
    while ((response = s_in.readLine()) != null)
    {
        System.out.println( response );
    }
    }
}

Thursday, July 4, 2013

Bind livestatus unix socket to TCP socket use Python and twisted

from twisted.internet import protocol, reactor
import socket,os

socket_path = "/var/lib/nagios3/rw/live"

class Echo(protocol.Protocol):
    def dataReceived(self, data):
 s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)

 s.connect(socket_path)

 s.send(data)
 s.shutdown(socket.SHUT_WR)
 answer = s.recv(100000000)
        self.transport.write(answer)

class EchoFactory(protocol.Factory):
    def buildProtocol(self, addr):
        return Echo()

reactor.listenTCP(6557, EchoFactory())
reactor.run()

Monday, July 1, 2013

One liner to download Oracle JDK with wget

wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk-7u17-download-1501626.html;" http://download.oracle.com/otn-pub/java/jdk/7u25-b15/jdk-7u25-linux-i586.tar.gz --no-check-certificate -O jdk-7u25-linux-i586.tar.gz

Sunday, June 30, 2013

Create a read only monitor user to Oracle database

需要 SYSDBA 权限。
CREATE USER nagios IDENTIFIED BY oradbmon; 
GRANT CREATE SESSION TO nagios;
GRANT SELECT any dictionary TO nagios;
GRANT SELECT ON V_$SYSSTAT TO nagios;
GRANT SELECT ON V_$INSTANCE TO nagios;
GRANT SELECT ON V_$LOG TO nagios;
GRANT SELECT ON SYS.DBA_DATA_FILES TO nagios;
GRANT SELECT ON SYS.DBA_FREE_SPACE TO nagios;