martes, 22 de abril de 2008

Esclavizados por la fibra óptica

En los años 60 las empresas solían organizare de forma que en un mismo edificio se encontraban todos los departamentos y secciones, organizados de forma mas racional posible para obtener el máximo rendimiento de los medios disponibles, tanto humanos como mecánicos.
Como ejemplo podemos recordar las típicas comedias yanquis de esa época, protagonizadas por Jack Lemmon, en las que adentro de un edificio trabajaban infinidad de personas y donde ocurrían mil historias distintas.
Resulta curioso ver en esas películas salas enormes, plantas enteras repletas de mecanógrafas, secretarias, vendedores, contables, etc. Ahora esto solo sucede en los ministerios, donde los funcionarios tendentes al inmovilismo, heredaron las formas de esa época. Y como todos sabemos, la Administración, no es en absoluto rentable.
Por lo tanto es fácil comprender que en las grandes empresas actuales, donde antes trabajaban 10000 personas, ahora solo hay 500 o 300. En la reducción de plantillas, dependiendo del negocio, las computadoras han tenido mucho que ver. Se dice que también se crearon nuevos puestos de trabajo gracias a ellas, pero no en la misma proporción ni mucho menos.

En Madrid se encuentra la sede de IBM en España. Es un edificio enorme, y por fuera da la sensación de que ahí trabajan muchísimas personas. La realidad es que la cantidad de espacio dedicada a salas de reuniones, despachos vacíos y a los dos enormes patios interiores, es sin duda mucho mayor que el espacio dedicado a las zonas de producción.


El tele trabajo es una nueva forma de concebir el trabajo. Los nuevos medios de comunicación con conexiones ininterrumpidas con mas ancho de banda para Internet, telefonía IP, telefonía celular con posibilidad de acceder al mail o MSN, notebooks cada vez mas potentes y livianas, diversos hot spots de WI-FI en casi cualquier lugar publico, e incluso, el poder aprovechar algún router wireless mal configurado para acceder a Internet, etc. permiten realizar tareas sin tener que ir a la oficina. Pero hay dos formas de entender lo que significa esto: La primera es la que busca el empresario. No tiene que tener apenas infraestructura ya que sus empleados trabajan como autónomos, ahorra costos y encima resulta más productivo porque fomenta la competitividad entre sus empleados “virtuales”

La segunda es la que vive el trabajador, que a pesar de la inseguridad de trabajar de forma virtual y de los costos de infraestructura que tiene que asumir, puede rentabilizar su tiempo y dedicarse a otros asuntos que complementen su salario.

Pero, como todo en este mundo tiende a corromperse, el tele trabajo tiene ya su propio gusano, las “empresas de servicios” que funciona de la siguiente forma: En instalaciones tercermundistas trabajan neosiervos o cuasi esclavos que por 4 euros son puestos a disposición de otras empresas que precisan de trabajadores. Países como La India y Argentina son hoy por hoy los que lideran la oferta de servicios que demanda el resto del mundo y que por un puñado de € traducidos en poco mas de 5$ a 1€ de nuestro devaluado peso, estamos dispuestos a alquilarnos, a sabiendas que, ellos tienen los contactos y nosotros el conocimiento.

Empresas como IBM, EDS, Unisys, Accenture o HP son quienes lideran el mercado del outsourcing o venta de servicios a nivel global, pero también hay “pequeñas” consultoras que pueden resolver los problemas de todo aquel que quiera tercerizar su área de sistemas con personal mediocre debajo de un team leader senior, que intentaran hacer lo que puedan para solucionar los problemas y sino, escalarán hasta que el cliente quede satisfecho, ahorrando tremendamente los costos en sueldos y maximizando las ganancias.

¿En que se traduce esto? Simple, $2000 entra 3 veces en $6000, por lo tanto, puede cubrirse una rotación de 24 horas de lunes a viernes con juniors y tener un senior que solucionara lo que los juniors obviamente, por falta de experiencia, no podrán y solo por $12000 al mes, sin ningún tipo de gasto extra, ya que en gran parte de los casos, los tomaran monotributistas y ellos deberán hacerse cargo de sus impuestos, obra social, etc. Pero no todas son pálidas, mientras el cambio siga favoreciendo a España, EEUU o Inglaterra, tenemos trabajo asegurado y nuestro país no es la excepción, ya que bancos, laboratorios, diarios, empresas postales y una larga lista de rubros, están migrando sus servicios a sitios externos, con personal repartido para atender a todos estos clientes desdibujándose para cumplir con los objetivos pautados en los SLA´s comprometidos y así los clientes, van contrayendo sus departamentos de sistemas al mínimo indispensable para microinformática o la atención de sus contingencias.

La lista de empresas que se dedican al negocio del outsourcing es extensa y aca van algunas de las que recuerdo que me llamaron en los ultimos 3 meses:

IBM para importante cliente offshore
EDS para administrar Linux no recuerdo para quien
HP
Sofrecom para Telecom
Sofrecom para CTI
Sofrecom para Nextel
El Corte Ingles para administrar desde Bs. As. Control-M de sus tiendas en España
Ceitech para administrar Unix

Tanta tecnología para al final volver a la Edad Media.



No se pierdan los videos que hicieron un grupo de trabajadores informáticos de España.


















sábado, 19 de abril de 2008

Comandos en unix

Hoy estaba precisando hacer un ldapmodify y no me acordaba como era la sintaxis, por lo tanto, recurri a google, como siempre ;) y encontre un documento que me parece util postear acá, no solo porque tiene lo que precisaba, sino, que ademas, hay una lista bastante extensa de comandos de uso comun y no tanto que les puede ser de gran utilidad, despues de largas horas de trabajo, en las que se hacen mas frecuentes las lagunas mentales, al menos en mi caso ;) o si solo queres aprender, aca están.

No me pidan que haga la traduccion, ya que es bastante claro y estoy con nada de tiempo :( me toco la guardia activa y estoy en la oficina.



--> change file date stamp
touch –t 199906042020 filename

--> move partitions
ufsdump 0f - /dev/rdsk/c0t0s0s0 (cd /home; ufsrestore xv -)


--> lay down file system with 1% minfree and inode density
newfs –m1 –i81920 /dev/rdsk/c0t0d0s0

--> check file system
fsck /dev/rdsk/c0t0d0s0

Q: starting sybase
login as sybase, run: ./install/RUN_SYBASE

Q: logging in as sybase sa
isql -U sa

--> dump a partition and pipe to gzip. Watch > 2GB limit
ufsdump 0f - /home gzip - >/tmp/home.dump.gz

--> rewind offline a tape
mt –f /dev/rmt/0 rewoffl

--> only allow 300MB for user /tmp access
swap - /tmp tmpfs – yes SIZE=300M

--> verbose interactive restore
ufsrestore –ivf /dev/rmt/1

--> remove a printer from a class
lpadmin –p level5-line1 –r level5-line


--> truss a command
truss –-f -–o /tmp/log.txt

--> [DB] feed a script into sybase
isql –Urfe_xfer -Uuser -Ppassword -isqlscript >>blah.txt

--> make a printer class
lpadmin –p level5-line1 –c level5-line

--> remove level2-line2 printer from printer class level2-line
lpadmin -p level2-line2 -r level2-line


--> add level2-line3 to printer class
lpadmin -c level2-line -p level2-line3

--> [DB] how to change your password in isql
sp_password password, password-new

--> move a directory
tar cf - ./games (cd /tmp; tar xvBpf - )

--> [DB] run a sybase script, and dump to file
$ISQL -i$SCRIPTFILE -U$USER -D$DATABASE -P$PASS_ENC >> $SCRIPTLOGFILE

--> move a directory to another server
tar cf - ./games rsh brucey cd /tmp; tar xvBpf -


--> check for SUID SGID files
ncheck -F ufs -s /dev/dsk/c3t0d0s

-- remove core files
find / -name core –exec rm –f {} ; -o –fstype nfs –prune


--> rebuild man pages
catman –w –M man-page-directory or /usr/lib/makewhatis


--> vi command to show special characters
: set list


--> adding an account
useradd -u 120 –g dls -d /apps/dls –s /bin/ksh -c "comment" -m dls

--> create a mysql database
mysqladmin -uroot -ppassword create ebs

--> starting mysql database
/etc/rc.d/init.d/mysql.server start
/usr/local/bin/safe_mysqld

--> Invoke CPAN module install
perl –MCPAN –eshell

--> dump to zip
ufsdump 0f - /filesystem /opt/local/gzip - > /tmp/dump.gz

--> shutdown mysql databse
/usr/local/bin/mysqladmin shutdown -ppassword
/etc/rc.d/init.d/mysql.server stop

--> test the loading of a module
PERL_DL_DEBUG=255 perl -e 'use CGI;'

--> shows open files
fuser –cu /

--> Writing a Daemon:
1. edit /etc/services
add service and port.
2. edit /etc/inetd.conf
add in: edwardd stream tcp nowait root /bin/sh /bin/sh /home/sextone/bin/SERVER.mine
3. kill –HUP inetd.conf

--> how to mount a file system
mount /dev/dsk/c3t0d0s4 /apps/data/easysoft/DEVT

--> look at sar log
sar –f /var/adm/sa/sa24

--> write file checksums and size
cksum filename

--> show storage array info
ssaadm display /dev/rdsk/c1t5d2s0
--> show all disks on device d
luxadm display d

--> examine for a specific OS finerprint
nmap –sS -p 80 -O -v = examine OS

--> show print jobs
/usr/ucb/lpq –Plevel6

--> Scan for known ports. log it. do OS scan.
nmap –sS -F -o foo.log -v -O www.foo.com//24 =

--> show status of printer
/usr/ucb/lpc status

--> make a swap file:
dd if=/dev/zero of=swapfile bs=1024 count=65535
mkswap ./swapfile
chmod 600 ./swapfile
swapon ./swapfile

--> show open files for process
lsof –p PID

--> show open files for all TCP connections
lsof –iTCP

--> show open files for internet address
lsof -iTCP@10.20.2.9

--> as above
lsof -i @10.20.2.122

--> examine tcp ports
lsof -iTCP@sarah:1-50000

--> show open files for user.
lsof –u username

--> show processes that has the file in use.
lsof /apps/cms/ECMS-Server

--> show open files and retry every 5 seconds
lsof –p process-id –r 5

--> mount a floppy
mount -t vfat /dev/fd0 /mnt/floppy

--> check here for debugging processes and errno.h for errors
/usr/include
/usr/include/sys
/usr/include/sys/errno.h

--> scp a whole directory, preserve mods
sudo scp -prv devel webadmin@203.19.123.140:/home/httpd/cgi-bin

--> take processor 2 and 3 offline.
psradm -f 2 3
--> show processor stats verbose.
psrinfo –v

--> how to skip grant tables in mysql (over ride security)
/usr/local/libexec/mysqld -Sg

--> how to feed in an SQL program
mysql rm all files in directories
find . -type f -exec rm {} ;

--> dump packets to a capture file
sudo snoop –o /tmp/tcp.txt cp

--> backup one liner
tar cvf - /home/ebs gzip - > ebs.tar.gz

--> Look at selected packets in capture file
sudo snoop -i /tmp/tcp.txt

--> unzip and pipe to tar
gzip -dc watch packets from two servers.
snoop sarah brucey

--> enable ip masquerading
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -s 10.100.100.100/8 -j MASQ

-> view su log file
cat /var/adm/sulog

--> establish a default router or gateway.
echo "sagacity.com" > /etc/defaultrouter
echo "10.100.100.100 sagacity.com sagacity" >> /etc/hosts
change /etc/nsswitch.conf so that hosts has files, dns
edit resolv.conf put in
search .
nameserver 203.7.132.98

--> turn off automounter on /export/home.
vi /etc/auto_master, comment out /export/home

--> configuration file for sudoers
/opt/local/etc/sudoers

--> building ssh-1.2.27 on x86Solaris2.6 needed a few things:
/usr/openwin/bin in path
/usr/xpg4/bin in path
declare AR="/usr/xpg4/bin/ar"
declare NM_PATH="/usr/xpg4/bin/nm"

--> snoop network packets and get size and time stamp entries.
snoop -S -ta empa1

--> access perl CPAN
perl -MCPAN -e shell
install DBI

--> search for no password entries and lock all accounts.
for i in `passwd –sa grep NP awk ‘{print $1’`
do
echo “locking $i”
passwd –l $i
done


--> delete from a tar
tar --delete -f fs_backup_Sunday.tar home/ebs/tmp

--> Example on backing up files to tape. Must specify non rewinding, else you will over-write the files.
for file in `ls`
do
echo "sending $file to tape..."
echo `date`
tar cvpf /dev/rmt/0n $file
done

--> making/adding a partition.
1. use fdisk to make a parition.
2. mkfs -t ext2 -c /dev/hda11
3. mount -t ext2 /dev/hda11 /opt2
4. update /etc/fstab

--> rebuild the windex file
catman –w –M /usr/share/man



--> execute tar on remote host sarah and send tarball to standard output,
which becomes standard input for tar xvf – and the file gets dumped locally,
in this case on crawl. you have to cd to dir before tar or else you
will include path in tar
ssh maggie "cd $DIRNAME; tar cvf - $BASENAME" (cd $TPATH; tar xvf - )

--> dump a remote filesystem and send it to local tape drive.
ssh -–x $fw /usr/sbin/ufsdump 0cf - $fs dd obs=63k of=$TAPE

--> encrypt filename 1 and output to 1.crypt file
crypt 1.crypt ; rm 1

--> decrypt filename 1.crypt and stdout to screen
crypt send a file to tape
tar cvpf /dev/rmt/0 filename

--> quicker way to search and replace in vi
: %s/existing/new/g

--> shows where and which shared library files an application uses.
ldd binary

--> shell script stuff:
# repeat a command 100 times
x=100
while [ $x -gt 0 ]
do
command
x=$(($x-1))
done

--> Something very important to remember about partitions
It is important to note that Cylinder 0 contains the disklabel, which
contains the partition table. A normal filesystem can be placed
starting at Cylinder 0, since it will not touch the disklabel.
If you lay down a raw device, for a database, over Cylinder 0,
then you will completely lose all your partitions. You will then
have to restore the disklabel, and backup from tape if you happen to do this.

--> move a partition
find . cpio -pdm /apps

--> cron structure
min hour day-of-month month weekday command

--> PatchDiag Tool. Get patches from:
http://sunsolve.sun.com/private-cgi/patchpage.pl
patchdiag.xref is available at: http://sunsolve.sun.com/sunsolve/patchdiag/
/opt/local/bin/patchdiag -x /opt/local/lib/patchdiag.xref > patchdiag.`uname -n`

--> command showing system parameters
/usr/sbin/sysdef

--> Get Ambient Temperature of Server
/usr/platform/SUNW,Ultra-4/sbin/prtdiag -v

--> good ps formatting showing percent cpu first.
ps -edf -o pcpu,pid,user,arg

--> full details on ps
/usr/bin/ps –A -o user,pid,pcpu,pmem,vsz,rss,tty,s,stime,time,args

--> chown the hidden files as well.
find . -print -exec chown -R sextone:staff {} ;

--> The nsradmin command is a command-line based administrative
program for the NetWorker system. Normally nsradmin monitors
and modifies NetWorker resources over the network.
/usr/sbin/nsr/nsradmin

--> Spray a server
-c number of packets
-d delay in microseconds
-l pakcet size in bytes
/usr/sbin/spray -c 1 –d 20 -l 4096 maggie

--> Turn on bold.
bold=`tput smso`
offbold=`tput rmso`
echo "${bold}You must be the "root" user to run this script.${offbold}"

--> good way to send a dir to tape
tar cf /dev/rmt/0n directory

--> example of bringing up an interface
ifconfig hme0:1 inet 10.2.25.52 up

--> show all connections
netstat –f inet

--> rpcinfo makes an RPC call to an RPC server and reports
what it finds.
rpcinfo -b 390109 2 sort -u

--> rewind a tape fast
show loaded modules
/usr/sbin/modinfo

--> find world readable files and dirs
find / -type d –perm -2 –print
find . -type f –perm -2 -print

--> adding in a boot alias, eg:
boot sarahroot1 –s
nvalias sarahroot1 /sbus@1f,0/sunw,fas@e,8800000/sd@9,0:a

--> clever way to archive
tar cvf - `find . –print` >/tmp/dumpfile.tar
tar xvf - tee to a file
echo "Start Date/Time: `date`" tee -a $LOG_FILE


--> read a snoop file
snoop -i anz-telnet.snoop

--> write a snoop log (this will count the number of connections, which is pretty neat).
snoop –osnoop.log sarah

--> set default run level. 5 for gui.
/etc/inittab

--> show all exported filesystems
showmount -e crawl

--> shows all configurable variables for tcp interface.
sudo ndd -get /dev/tcp
- ?
eg:
sudo ndd -get /dev/tcp tcp_conn_req_max_q
128
ndd /dev/arp ?
ndd /dev/ip ?
ndd /dev/tcp ?
ndd /dev/udp ?
ndd /dev/icmp ?



--> set sticky bit on group files, only the owner can change the mode.
--> the +l is mandatory file and record locking while a program
--> is accessing that file.
chmod g+s,+l file

--> print duplex landscape 4 qudrant printing
mpage –t –l –4

--> install a patch
installpatch .

--> check to see if a patch has been installed
showrev –p grep package name


--> unzip, untar in a /tmp directory
zcat 104708-16.tar.gz ( cd /tmp; sudo tar xvf - )

--> check out revision level on ssa controller
/usr/sbin/ssaadm display controller


--> unzip and untar a file without having to create an intermediate tar file
sudo gzip -dc /tmp/270599/post-EOD.tar.gz tar xvf -



--> selectively extract from a tar archive
tar xvf /tmp/iona.tar ./iona/.sh_history

--> send a bunch of files to tape
tar cf /tmp/rules.tar ruleb* objects.C *.W

--> examine section 5 of man
man -s 5 signal

--> shows signals and definitions of structures, eg sigaction
/usr/include/sys/signal.h

--> location of the limits file on solaris
/usr/include/limits.h

--> send an attachment via email from command prompt
uuencode file.tar.gz file.tar.gz mailx –s “backup” root@crawl

--> zero a file
cat /dev/null > isam.log

--> good way to restore from cdrom a binary file
zcat running su as a user then ssh
su - dls-PROD -c "/opt/local/bin/ssh drp-stagger "cd /tmp; /bin/ls" "


--> verify a newfs format
sudo newfs –Nv /dev/md/dsk/d96


--> making lost_found. must be 8192 bytes in size.
mkdir ./lost+found;chown root ./lost+found; chgrp root ./lost+found ;chmod 700 ./lost+found’; cd ./lost+found
nofiles=0 ; while [ "$nofiles" -le 650 ] ; do ; /usr/ucb/touch $nofiles ; nofiles=`expr $nofiles + 1` ; done


--> execute lynx
lynx -cfg /usr/lib/lynx.cfg


--> sed search example
sed '/Sep 25/!d; /castill/!d' /var/log/syslo

-->should only be used at the EEPROM
boot –r
--> should be used at single user mode
reboot -- -r
--> should be used in multiuser mode
touch /reconfigure



--> performing a remote dump

find MFASYS
cpio -oc gzip -c
ssh brucey -l chaup dd obs=18k of=/dev/rmt/0n

- to extract -
cd /ssa/emphasys/sybase/dump
dd ibs=18k if=gunzip -c cpio –idc


--> boot block located here.
/usr/platform/`uname –i`/lib/fs/ufs


--> getting a server on the network
add hosts entry for IP address
clear configs: ifconfig pe0 unplumb
ifconfig pe0 10.20.2.27 netmask 255.0.0.0 up
route add default 10.20.0.1 1
verify the routing table: netstat –rn
add resolv.conf entry: domain rabobank.com.au nameserver 192.192.192.252
edit /etc/nsswitch.conf change hosts to files, dns


lesson here is to unplumb interface, and let ifconfig setup the routing.
if you specify an ip address and a netmask it will manage
the routing and the broadcasting.


--> find all, files associated with PID 22240
/usr/proc/bin/pfiles 22240
find file based on inode
find –i number
“ncheck –i number


--> good redirection example
./a.out trash

--> synchronize files from one server to another. This is useful for
synchronizing database dump files, binary files, etc. This is definitely a powerful tool.

rsync -avz -e ssh --rsync-path="/usr/local/bin/rsync" `pwd` myhost.com:/home/ebs/public_html

--> Example Awk Script

# run with awk -f/tmp/1.awk /etc/group

BEGIN { FS = ":" }
{ print $1 "sort" }
{ nlines++ }
END { print nlines }

--> awk example.
awk '/#/ {print "Got a comment"}' /etc/hosts

--> delete every 2nd field in file
awk '{$2= ""; print}' datafile > datafile.new

--> awk average/standard deviation program

x1 += $1
x2 += $1*$1

END {
x1 = x1/NR
x2 = x2/NR
sigma = sqrt(x2 - x1*x1)
if (NR > 1) std_err = sigma/sqrt(NR - 1)
print "Number of points = " NR
print "Mean = " x1
print "Standard Deviation = " sigma
print "Standard Error = " std_err

-->
Setting Prompt
PS1="`hostname`($LOGNAME)-->"

mount syntax
mount 10.0.20.41:/mnt/cdrom /mnt/cdrom

ldapsearch syntax
ldapsearch -h mainldap -b 'o=vialta.com,c=us' cn="*"

ldapmodify syntax
ldapmodify -h masterldap -D 'cn=Directory Manager,o=vialta.com,c=US' -r -f /tmp/user.ldif -w
"password123"

ldapadd syntax
ldapadd -f user.ldif -D 'cn=Directory Manager,o=vialta.com,c=US' -w "password"

ldapdelete syntax
ldapdelete -f martin.ldif -D "cn=Directory Manager,o=vialta.com,c=US" -w "password"

sendmail debugging
sendmail -bt -d0.1,21.12
truss -fae -o /tmp/truss.log -p
Count System Calls
truss -c

Debugging processes in Linux: strace
strace -a80 -f
strace -a80 -f -p

manually setting date/time
date 07091427.00 Syntax: (mmddhhmm.ss)


make a large file
(linux) dd if=/dev/zero of=bigfie bs=1024 count=65536
(sun) mkfile bigfile 65m

count number of open files
lsof awk '{ print $1 }' uniq -c sort -n awk '{print $1}' awk ' BEGIN { a=0; } {a+=$1;} END {print a; }'


apache bench marking
/usr/sbin/ab -n 100 -c 100 http://register.vialta.com/registe/index.ecgi

using dtterm with ssh, $1 is the hostname argument, eg: ./go va5-prod-101
dtterm -geometry 80x50 -n $1 -title $1 -bg $BG -fg $FG -cr $CR -sb -aw -e /usr/local/bin/ssh.binary
$LOGNAME@$1 &

global search and replace in vi
:%s/oldstring/newstring/g

Using php to md5 encrypt
echo "" php -q

delete all ldap entries
$ ldapsearch -h mainldap -b 'o=vialta.com,c=us' cn="*" >/tmp/all.ldif
$ ldapdelete -c -f /tmp/all.ldif -D "directory Manager,o=vialta.com,c=us" -w password
run again the ldapdelete, this will remove non-leaf nodes. it is a hack but it works.


testing radius logins
Usage: radtest login passwd server:port nas_port_id secretkey

radtest ebs password localhost localhost testing123

Writing to HPOV
opcmsg sev=normal app=Apache MsgGroup=Web_Apps node=va5-prod-101 msg_text=Your message
goes here.
sev=normalwarningminormajorcritical

LDAP and STDIN
ldapsearch -h mainldap -b 'o=vialta.com,c=US' cn=ed_904 ldapdelete -c -D "cn=Directory
Manager,o=vialta.com,c=US" -w secret_password
ldapsearch -h mainldap -b 'o=vialta.com,c=US' cn=ed_904 ldapdelete -c -D "cn=Directory
Manager,o=vialta.com,c=US" -w secret_password
Use -c to continue if errors are detected.

Oracle: deleting a username
sqlplus register ; SQL> exec maint.del_user('USERID');

Oracle: Decryption
select reg_crypt.pwd_decrypt(screen_pwd) from screen_name where screen_name='username';
select reg_crypt.pwd_decrypt(screen_pwd) from screen_name where screen_name='username';
select reg_crypt.pwd_decrypt(security_question_answer) from screen_name where
screen_name='username';
select vbl_crypt.cc_decrypt(credit_card_num) from vbl_user_creditcard;
select reg_crypt.pwd_decrypt(CENTER_PASSWORD) from CENTER where
CENTER_PUBLIC_SCREENNAME='username';

LDAP Information
ldapsearch -s base -b cn=monitor 'objectclass=#'

MPortal: fix mysql links for web guide management
use portal; select * from web_title where title_id=16 and title_code=0; update web_title set
title_code=11 where title_id=16 and title_code=0;

keyword search all files and print file names and date/size
find . -type f -exec grep -l search_word {} ; xargs ls -al

remove encrypted key from cert
( cd /etc/httpd/conf/ssl.key && openssl rsa -in home.vialta.com.key -out home.vialta.com.key)

broadcast ping
for host in `ping -b 10.0.101.255 -c 2 awk '{print $4}' grep "^10" sed s/.$//g`; do echo -n "$host ";
nslookup $host 2>/dev/null grep Name; echo ;done


Find all files a process tries to open
truss -t !all -t open

ldapsearch operators

AND operator:
ldapsearch -h mainldap -b 'ou=1,o=vialta.com, c=US' "(&(suffixflag=0)(loginname=eval*))"

OR operator:
ldapsearch -h mainldap -b 'ou=1,o=vialta.com, c=US' "((loginname=thanurak)(loginname=ebs))"

Adding a NewLine character with sed. Use a backslash
ldapsearch -h mainldap -b 'ou=1,o=vialta.com, c=US' cn=ebs sed
s/suffixflag=0/userid=000000000000/g

Adding a New field to existing LDAP database (this will add new field: foo=bar
ldapsearch -h masterldap -b o=vialta.com,c=us cn=loopy awk '{print} /suffixflag=0/{print
"foo=bar"}' ldapmodify -r -h masterldap -D "cn=Directory Manager, o=vialta.com, c=US" -w xxx


Continuing a process
If /proc/$PID/status ever shows a State: T (Stopped), then start it with this signal:
kill -SIGCONT pid

Oracle shutdown
export ORACLE_SID ; sqlplus internal ; select * from v$database; shutdown immediate;

Interesting Oracle views
v$sga;
v$session


using uuencode for file transfer
$ uuencode filename filename mail esexton@sun1-noc
eg: uuencode tnsnames.ora tnsnames.ora mail esexton@sun1-noc
tar cvf - * uuencode backup.tar mail esexton@sun1-noc
(linux) $ tar zcvf - * uuencode backup.tar.gz mail esexton@sun1-noc
(sun) $ tar cvf - * gzip - uuencode backup.tar.gz mailx esexton@sun1-noc

LDAP protocol 2 specific commands

LDAP protocol 2 query:
ldapsearch -LLL -P2 -x -h mainldap.vialta-inc.com -b 'o=vialta.com, c=us' cn=guest
ldapdelete -x "cn=j2, ou=1, o=vialta.com, c=US" -w
ldapsearch -x -LLL -b 'o=vialta.com, c=US' cn=j2
ldapadd -x -f newadd1.ldif -D "cn=Directory Manager,o=vialta.com,c=us" -w ""

Tailing tcpdump
tcpdump -l udp > dat & tail -f dat


mysql date select
SELECT * FROM `connection` where login_time > "2002-12-01 00:00:01"


RPM extract commands
Get a content listing:
rpm2cpio web-programs.rpm cpio -it

Extract Specific File:
rpm2cpio web-programs.rpm cpio -idm

Extract Entire contents:
rpm2cpio web-programs.rpm cpio -ivd

Sendmail
Testing aliases and routing.
echo "3,0 nreynolds@orchestream.com" sendmail -bt -d60.1
echo "3,0 nreynolds@orchestream.com" sendmail -bt -d60.1 -d21.12

use sed to translate a space to a newline
sed 's/ /

/g' filename

Bind version
nslookup -q=txt -class=CHAOS version.bind. 0
dig @host version.bind chaos txt
named -v

Query MX record
nslookup -q=mx server-name

freebsd
pkg_add package.tgz
MySQL

Too many indexes on a table will cause delete operations to be slow.


Linux Route
route add -net 10.0.19.0 netmask 255.255.255.0 gw 10.0.101.4
/etc/sysconfig/static-routes: eth0 net 10.0.19.0 netmask 255.255.255.0 gw 10.0.101.4
route del -net 10.0.19.0 gw 10.0.101.4 netmask 255.255.255.0