isaac_asimov

Para tener éxito, la planificación sola es insuficiente. Uno debe improvisar también…

La FundaciónIsaac Asimov

Una de las herramientas básicas que se deben manejar diriamente es el scripting, en cualquier lenguaje, nos ayudará a realizar de una manera más automatizada nuestra administración.

En este rubro existen miles de recursos en línea que nos pueden apoyar a realizar diferentes actividades conforme nuestras necesidades. Aún con esto, la única forma de poder desarrollar esta habilidad es la práctica.

En esta ocasión, quiero compartirles algunos de los recursos que utilizo para satisfacer alguna necesidad al crear un script:

Además de estos recursos, las redes sociales también nos ofrecen algunos recursos por demás recomendables:

twitter-linux

  • @UnixToolTip – Diariamente nos porporciona tips sobre el manejo de herramientas útiles para la administración
  • @RegExTip – Tips semanales de como poder utilizar más eficientemente las expresiones regulares
  • @climagic – Trucos para la línea de comandos en140 caracteres
  • @commandlinefu – Como utilizar diferentes comandos que pueden usarse para automatizar tareas
  • @GeekScripting – Comparten scripts para simplificar el trabajo en la terminal
  • @bashoneliners – Scripts en una sola línea de comando

En este último, compartí un bash one-liner que utilizo para monitorear y llevar el registro de los archivos recibidos vía vsftp, así como su existencia para ser procesados por otra aplicación:

for i in $(cat /var/log/vsftpd.log | grep $DATE_TIME | grep UPLOAD | grep OK); do ls /FTP/HOME/$i >> /dev/null 2> &1; if [ $? = 0 ]; then echo "$i" >> $FILES_OK_UPLOADS.log; else echo "$DATE ERROR: File $i not found" >> $FTP_FILES_NOTOK_$DATE_TIME.log; fi; done

Aquí la liga de este one-liner.

Además, les comparto 2 libros que uso como referencia básica en todos mis scripts:

Bonus

Script en Python que nos ayuda a determinar cuanta RAM esta siendo utilizada por cada programa, por ejemplo:

[root@ragnarok ~]# python /var/tmp/tools/ps_mem.py
Private + Shared = RAM used Program

116.0 KiB + 24.0 KiB = 140.0 KiB acpid
124.0 KiB + 16.0 KiB = 140.0 KiB hidd
140.0 KiB + 18.5 KiB = 158.5 KiB vmstat
148.0 KiB + 15.5 KiB = 163.5 KiB hobbitlaunch
156.0 KiB + 16.5 KiB = 172.5 KiB irqbalance
140.0 KiB + 33.5 KiB = 173.5 KiB pam_timestamp_check
156.0 KiB + 26.5 KiB = 182.5 KiB portmap
152.0 KiB + 36.0 KiB = 188.0 KiB init
172.0 KiB + 27.5 KiB = 199.5 KiB atd
176.0 KiB + 30.5 KiB = 206.5 KiB gnome-keyring-daemon [updated]
192.0 KiB + 34.0 KiB = 226.0 KiB rpc.statd
248.0 KiB + 24.5 KiB = 272.5 KiB smartd
252.0 KiB + 23.0 KiB = 275.0 KiB audispd
176.0 KiB + 140.5 KiB = 316.5 KiB sh
248.0 KiB + 82.0 KiB = 330.0 KiB hald-addon-keyboard(2)
352.0 KiB + 30.5 KiB = 382.5 KiB auditd
352.0 KiB + 39.5 KiB = 391.5 KiB xinetd
444.0 KiB + 43.0 KiB = 487.0 KiB vsftpd
360.0 KiB + 166.5 KiB = 526.5 KiB su
512.0 KiB + 59.0 KiB = 571.0 KiB sudo
536.0 KiB + 59.5 KiB = 595.5 KiB rpc.idmapd
612.0 KiB + 35.0 KiB = 647.0 KiB crond
876.0 KiB + 22.0 KiB = 898.0 KiB udevd
908.0 KiB + 327.5 KiB = 1.2 MiB dbus-daemon (3)
1.1 MiB + 188.5 KiB = 1.3 MiB bonobo-activation-server [updated]
924.0 KiB + 473.0 KiB = 1.4 MiB bash (2)
932.0 KiB + 1.2 MiB = 2.1 MiB gdm-binary (2)
1.8 MiB + 609.5 KiB = 2.4 MiB gdm-rh-security-token-helper
1.8 MiB + 662.0 KiB = 2.4 MiB notification-area-applet [updated]
2.2 MiB + 251.5 KiB = 2.4 MiB issDaemon
2.4 MiB + 661.0 KiB = 3.0 MiB gnome-settings-daemon [updated]
2.7 MiB + 387.0 KiB = 3.1 MiB sendmail.sendmail (2)
2.7 MiB + 364.0 KiB = 3.1 MiB ntpd
2.6 MiB + 513.0 KiB = 3.1 MiB gnome-power-manager
4.7 MiB + 325.5 KiB = 5.0 MiB Xorg
5.6 MiB + 360.0 KiB = 5.9 MiB hpssd.py
6.2 MiB + 58.5 KiB = 6.3 MiB perl [updated]
4.7 MiB + 5.8 MiB = 10.5 MiB iss-lum (2)
15.7 MiB + 477.0 KiB = 16.1 MiB yum-updatesd
16.0 MiB + 897.0 KiB = 16.9 MiB gdmgreeter
14.6 MiB + 4.9 MiB = 19.5 MiB sshd (31)
28.6 MiB + 2.8 MiB = 31.4 MiB iss-spa (2)
34.5 MiB + 1.1 MiB = 35.6 MiB issCSF
208.6 MiB + 4.3 MiB = 212.9 MiB postgres (8)
397.9 MiB + 596.5 KiB = 398.5 MiB java
---------------------------------
791.7 MiB
=================================
[root@ragnarok ~]#

Aquí el código.

Espero les sirva…