Aside

“N√£o deixe que roubem a sua loucura, fique com ela toda para voce!
Gustavo Magno CC”

Aside

for i in `cat lista_de_ip.txt`;do ncat -n -4 -w 1 –send-only $i 3389 /dev/null || ncat -n -4 -w 1 –send-only $i 22 /dev/null;if [ $? == 0 ];then echo “HOST UP: ${i}”;else echo “HOST DOWN: ${i}”;fi;done

Aside

sudo port deactivate nginx
sudo port install nginx +ssl

Aside

Ativar modulo ipfw e natd(ipdivert)

/boot/default/loader.conf

ipfw_load=”YES”
ipdivert_load=”YES”

/etc/rc.conf

ipfw_enable=”YES”
natd_enable=”YES”

** Nao esquecer de configurar regras de allow porque o default e deny allūüėČ

Aside

To register a virtual machine from a command line on an ESXi host:
Log in as root to the ESXi host with an SSH client. For information on using Tech Support mode, see Using Tech Support Mode in ESXi 4.1 (1017910).
Run the command:

# vim-cmd solo/registervm /vmfs/volumes/datastore_name/VM_directory/VM_name.vmx

#vim-cmd vmsvc/getallvms

#vim-cmd vmsvc/power.getstate VMID

#vim-cmd vmsvc/power.off VMID

Aside

Limpar os databases em uma instancia standalone ORACLE
shutdown abort;
startup mount exclusive restrict;
drop database;

— Exemplo de arquivo init.ora

TPL_DB.__db_cache_size=256M
TPL_DB.__java_pool_size=25M
TPL_DB.__large_pool_size=25M
TPL_DB.__pga_aggregate_target=256M
TPL_DB.__sga_target=1G
TPL_DB.__shared_io_pool_size=0
TPL_DB.__shared_pool_size=128M
TPL_DB.__streams_pool_size=0
*.audit_trail=’db’
*.control_files=’/u01/oradata/TPL_DB/controlfile/control01.ctl’,’/u01/oradata/TPL_DB/controlfile/control02.ctl’
*.cursor_sharing=’EXACT’
*.db_block_size=8192
*.db_domain=”
*.db_name=’TPL_DB’
*.log_archive_dest_1=’LOCATION=/u01/oradata/TPL_DB/archivelog’
*.log_archive_format=’arch_%r_%t_%s.arc’
*.memory_target=2G
*.open_cursors=1080
*.optimizer_mode=’ALL_ROWS’
*.processes=1000
*.remote_login_passwordfile=’exclusive’
TPL_DB.undo_tablespace=’UNDO_TS01′

cd $ORACLE_HOME

orapwd file=orapwTPL_DB.ora password=q1w2e3r4 entries=50 force=y

sqlplus “/ as sysdba”

startup nomount
CREATE DATABASE TPL_DB
    USER SYS identified by q1w2e3r4
USER SYSTEM identified by q1w2e3r4
LOGFILE
  GROUP 1 (
¬†¬†¬† ‘/u01/oradata/TPL_DB/redolog/redo01_01.log’,
¬†¬†¬† ‘/u01/oradata/TPL_DB/redolog/redo01_02.log’
  ) SIZE 300M,
  GROUP 2 (
¬†¬†¬† ‘/u01/oradata/TPL_DB/redolog/redo02_01.log’,
¬†¬†¬† ‘/u01/oradata/TPL_DB/redolog/redo02_02.log’
  ) SIZE 300M,
  GROUP 3 (
¬†¬†¬† ‘/u01/oradata/TPL_DB/redolog/redo03_01.log’,
¬†¬†¬† ‘/u01/oradata/TPL_DB/redolog/redo03_02.log’
  ) SIZE 300M
  MAXLOGFILES 320
  MAXLOGMEMBERS 4
  MAXDATAFILES 1000
  MAXINSTANCES 10
  MAXLOGHISTORY 1168
  CHARACTER SET UTF8
¬† DATAFILE ‘/u01/oradata/TPL_DB/datafile/datafile/system_01.dbf’ size 500M autoextend on next 10M maxsize unlimited extent management local
¬† SYSAUX datafile ‘/u01/oradata/TPL_DB/datafile/datafile/sysaux_01.dbf’ size 300M
¬† UNDO tablespace UNDO_TS01 datafile ‘/u01/oradata/TPL_DB/datafile/datafile/undo_ts01_01.dbf’ size 500M
¬† default temporary tablespace temp tempfile ‘/u01/oradata/TPL_DB/datafile/datafile/temp_ts01_01.dbf’ size 500M;

@$ORACLE_HOME/rdbms/admin/catalog.sql
@$ORACLE_HOME/rdbms/admin/catproc.sql

create tablespace tstools01
DATAFILE ‘/u01/oradata/TPL_DB/datafile/tstools01_01.dbf’ size 512M
extent management local uniform size 512k
segment space management auto;

Aside

Script que um colega fez https://github.com/hbombonato/rsync-fork muito bom….ūüôā

Resquest SSL Certificate

openssl req -nodes -days 3650 -newkey rsa:2048 -nodes -keyout site.domain.key -out site.domain.csr -subj “/C=BR/ST=Sao Paulo/L=Sao Paulo/O=Company LTDA./OU=CORP/CN=site.domain”

Jetty Howto

Se voce esta procurando uma forma f√°cil e r√°pida de colocar uma servlet em produ√ß√£o a minha sugest√£o ‘e use o container web Jetty.

Vou mostrar abaixo como eu prefiro organizar os arquivos do container web, servlet, ajustes em configuração etc…

Vamos usar um pacote do site http://dist.codehaus.org/jetty

wget http://dist.codehaus.org/jetty/jetty-hightide-7.4.3/jetty-hightide-7.4.3.v20110701.zip

Minha sugest√£o de path para descomprimir /usr/local,¬† o ideal ‘e adotar um padr√£o :)¬† assim o ambiente de producao tende a fica homog√™neo.

unzip jetty-hightide-7.4.3.v20110701.zip;mv  jetty-hightide-7.4.3.v20110701   /usr/local/jetty-7.4.3

No pacote padr√£o vem habilitado o uso de configs que nao pretendo usarūüôā, pois e default, para desativar¬† deve-se comentar todas as entradas do arquivo start.ini

/usr/local/jetty-7.4.3/start.ini

Pronto o jetty esta instalado e com os arquivos de conf default estão desativados, também e possível retirar do jetty os recursos que você nao ira usar em sua servlet mas nao e escopo deste howto. Veja documentação completa em http://wiki.eclipse.org/Jetty

Nas empresas por onde passei na maioria dos casos us√°vamos SO Linux CentOS, Suse ou RedHat e para facilitar a implanta√ß√£o dos sistemas us√°vamos reposit√≥rio de pacotes rpm interno, eu prefiro gerar o pacote do jetty pois os pacotes dispon√≠veis no repo do projeto nao sao muito flex√≠veis‚Ķ. veja link abaixo para baixar SPEC para gerar um pacoteūüėČ.

Para a instala√ß√£o da servlet vamos precisar basicamente de dois arquivosūüôā, o <servlet>.war e <servlet>.xml, onde o path padr√£o de instala√ß√£o de todas as servlets seram /opt/webapps/<N‚Ķ. servlets>

O arquivo <servlet>.xml contem as informa√ß√Ķes para iniciar a servlet como este abaixo.

<?xml version=”1.0″?>
<!DOCTYPE Configure PUBLIC “-//Mort Bay Consulting//DTD Configure//EN” “http://jetty.mortbay.org/configure.dtd”&gt;
<!–
JETTY_HOME=”/usr/local/jetty-7.4.3″
JAVA_HOME=”/usr/java/jre1.6.0_24″
JETTY_CONSOLE=”/var/log/servlet/”
JETTY_USER=”servletuser”
JAVA_OPTIONS=”-server -Xms512m -Xmx512m -Dfile.encoding=UTF-8 -Dorg.mortbay.xml.XmlParser.NotValidating=true -Dsun.net.inetaddr.ttl=60″
–>
<Configure>
<Set name=”ThreadPool”>
<New>
<Set name=”minThreads”>10</Set>
<Set name=”maxThreads”>20</Set>
<Set name=”detailedDump”>false</Set>
</New>
</Set>
<Call name=”addConnector”>
<Arg>
<New>
<Set name=”host”><SystemProperty name=”jetty.host” default=”servletip.network” /></Set>
<Set name=”port”><SystemProperty name=”jetty.port” default=”666″/></Set>
<Set name=”forwarded”>true</Set>
<!– Set name=”maxIdleTime”>30000</Set–>
<Set name=”Acceptors”>2</Set>
<Set name=”statsOn”>false</Set>
<!– Set name=”confidentialPort”>8443</Set–>
<Set name=”lowResourcesConnections”>5000</Set>
<Set name=”lowResourcesMaxIdleTime”>5000</Set>
<Set name=”responseBufferSize”>65536</Set>
<Set name=”headerBufferSize”>32768</Set>
</New>
</Arg>
</Call>
<Set name=”handler”>
<New>
<Set name=”contextPath”>/</Set>
<Set name=”war”>/opt/webapps/servlet/servlet.war</Set>
</New>
</Set>
</Configure>

Existem varias formas de criar o arquivo de start do jetty este que passei ‘e apenas um exemplo mas atende perfeitamente a maioria dos casos. Saiba mais em http://wiki.eclipse.org/Jetty

Por experi√™ncias anteriores ‘e essencial usar script √ļnico de apoio, que leia o servlet.xml para iniciar a servlet, facilite a vida de quem ira cuidar da produ√ß√£oūüėČ.

Anexo1 Jetty

Os par√Ęmetros a serem usados no servlet.xml podem mudar de vers√£o para vers√£o, se algo der errado leia a documenta√ß√£o.

Anexo2 Servlet

Arquivos de config devem ser lidos a partir do contexto, procure evitar path fixo isto dificulta a manipula√ß√£o da servlet no dia a dia, este recurso pode evitar um build de ultima horaūüėČ.

Se voc√™ nao ‘e programador procure conversar com o time que desenvolve para combinar a organiza√ß√£o dos arquivos da servlet.

* Arquivos de config que porem ser alterados com certa freq√ľ√™ncia devem ficar fora do .war (config de conex√£o com banco de dados, log4j, par√Ęmetros de ativa√ß√£o de funcionalidade).

* Evite ter que fazer restart da servlet combine a cria√ß√£o de recursos para reler as configura√ß√Ķes caso um arquivo seja modificado.

Arquivos disponíveis em https://github.com/hbombonato/sysadmin_tools/tree/master/SPEC/jetty

Audit howto

Artigo muito bom sobre Audit
http://www.cyberciti.biz/tips/howto-log-user-activity-using-process-accounting.html