Friday, 27 February 2009

Perl one-liner to summarize file sizes

ls -l /u02/volestlivelogs01/oradata/ESTDB/archive/*.dbf | sed -e "s/:/ /g" -e "s/  / /g" | perl -lane 'BEGIN {%hash=();} $hash{"$F[5]$F[6]-$F[7]:00"}+= $F[4]; END {foreach $k (sort keys %hash) {print "$k " . int($hash{$k}/(1024*1024)) . " Mb"; } }'

Total size of an arbitrary list of files

ls -lrt | grep "Feb 17" | awk '{tot += $5;ct +=1; print $9 " " $5/(1024*1024) "Mb"} END {printf(" Files : %s TOTAL SIZE %4.2f Gb\n",ct,tot/(1024*1024*1024))}'

Remove files

ls -lrt | grep "Feb 19" | cut -d":" -f2 | cut -d" " -f2 | xargs rm -rf


Wednesday, 18 February 2009

Total size of an arbitrary list of files

ls -lrt | grep "Feb 17" | awk '{tot += $5;ct +=1; print $9 " " $5/(1024*1024) "Mb"} END {printf(" Files : %s TOTAL SIZE %4.2f Gb\n",ct,tot/(1024*1024*1024))}'

Friday, 30 January 2009

Oracle : Display refcursor content in SqlPlus or Toad

Proc to xml-ify the refcursor

create or replace procedure refcursor_print (p_refcursor in sys_refcursor,
                 p_null_handling in number := 0)
as
  l_xml      xmltype;
  l_context  dbms_xmlgen.ctxhandle;
  l_clob     clob;

  l_null_self_argument_exc exception;
  pragma exception_init (l_null_self_argument_exc, -30625);
 
  procedure print (p_msg in varchar2)
  as
    l_text varchar2(32000) := p_msg;
  begin
    loop
      exit when l_text is null;
      dbms_output.put_line(substr(l_text,1,250));
      l_text:=substr(l_text, 251);
    end loop;
  end print;
begin
  /*
  Purpose:    print debug information (ref cursor)
  Remarks:    outputs weakly typed cursor as XML
  */

  /* get a handle on the ref cursor */
  l_context:=dbms_xmlgen.newcontext (p_refcursor);
  /*
  # DROP_NULLS CONSTANT NUMBER:= 0; (Default) Leaves out the tag for NULL elements.
  # NULL_ATTR CONSTANT NUMBER:= 1; Sets xsi:nil="true".
  # EMPTY_TAG CONSTANT NUMBER:= 2; Sets, for example, <foo/>.
  */
  /* how to handle null values */
  dbms_xmlgen.setnullhandling (l_context, p_null_handling);
  /* create XML from ref cursor */
  l_xml:=dbms_xmlgen.getxmltype (l_context, dbms_xmlgen.none);

  print('Number of rows in ref cursor: ' || dbms_xmlgen.getnumrowsprocessed (l_context));
 
  begin
    l_clob:=l_xml.getclobval();
    print('Size of XML document (anything over 32K will be truncated): ' || length(l_clob));
    print(substr(l_clob,1,32000));
  exception
    when l_null_self_argument_exc then
       print('Empty dataset.');
  end;
end ;

Call like this
Nb returns a refcursor into c1
Output via dbms_output

c1 sys_refcursor;

begin
   get_refcursor_with_some_params('X1001',TO_DATE('12/02/2008','DD/MM/YYYY'),c1);
  refcursor_print(c1);
end;


Wednesday, 28 January 2009

Rdesktop under linux into a Cisco VPN

  • Using Centos 5.2 - need to add additional repos to find a copy of kvpnc (?)
  • Correct version of packages (vpnc-0.3.3-1.2.el5.rf, kvpnc-0.8.8-1.el5.rf)
  • Need kde
  • Watch out for later version of vpnc (0.5+) being incompatible with syntax used by kvpnc - downgraded to get them to match 
  • Run kpvnc and import .pcf file to set up a new connection definition
  • Had some problems with Perfect Foward Secrecy being passed as a parameter to vpnc and vpnc not understanding - can be turned off via Profile->General->Advanced->PFS
  • Edit /etc/vpnc.conf to be something like
### This is the gateway configuration
IPSec gateway
IPSec ID
IPSec secret

### Put your username here
Xauth username
Xauth password

  • Install rdesktop
  • Use a command like "rdesktop  -u \\ -p -f -a 16 -k en-uk MACHINE
  • -f is fullscreen mode - use Ctrl-Alt-Enter to get out
  • On vmware this would be Ctrl-Alt-(Space-then-Enter) holding down Ctrl-Alt the whole time

Misc
Putty - selection cursor shows up black on black - change the mouse pointer on the remote machine to something more usable (Control panel -> Mouse->Pointers Tab->Text Selection)


Friday, 23 January 2009

Conficker related links


Stopping Autorun
http://nick.brown.free.fr/blog/2007/10/memory-stick-worms.html

How to disable the use of USBs (MS)
http://support.microsoft.com/kb/823732


Monday, 19 January 2009

Windows: Remote query for installed patches

wmic /user:Administrator /password:,password> /node:"spread-00811" qfe | find /N "KB958644"