Archive for the ‘Scripting’ Category

Correr automáticamente geoserver (at boot time)

Thursday, April 14th, 2011

Holass samigos, acá les dejo el script que uso para iniciar geoserver, lo ponen el /etc/init.d y luego corren el comando:

update-rc.d geoserver defaults

Espero les sirva.

#! /bin/sh
### BEGIN INIT INFO
# Provides:          geoserver
# Required-Start:    $local_fs $remote_fs
# Required-Stop:     $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: GeoServer OGC server
### END INIT INFO

# Author: Lennart Juette

# Geoserver configuration - use /etc/default/geoserver to override these vars
# user that shall run GeoServer
USER=root
GEOSERVER_HOME=/opt/geoserver-2.0.3
GEOSERVER_DATA_DIR=$GEOSERVER_HOME/data_dir

PATH=/usr/sbin:/usr/bin:/sbin:/bin
DESC="GeoServer daemon"
NAME=geoserver
JAVA_HOME=/usr/lib/jvm/java-6-openjdk/jre
JAVA_OPTS="-Xms128m -Xmx512m"
DAEMON="$JAVA_HOME/bin/java"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

DAEMON_ARGS="$JAVA_OPTS $DEBUG_OPTS -DGEOSERVER_DATA_DIR=$GEOSERVER_DATA_DIR -Djava.awt.headless=true -jar start.jar"

# Load the VERBOSE setting and other rcS variables
[ -f /etc/default/rcS ] && . /etc/default/rcS

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

do_start(){
	
	# Return
	#   0 if daemon has been started
	#   1 if daemon was already running
	#   2 if daemon could not be started
	
	start-stop-daemon --start --pidfile $PIDFILE --make-pidfile \
		--chuid $USER --chdir $GEOSERVER_HOME \
		-b --test --exec $DAEMON -- $DAEMON_ARGS > /dev/null \
		|| return 1
		
	start-stop-daemon --start --pidfile $PIDFILE --make-pidfile \
		--chuid $USER --chdir $GEOSERVER_HOME \
		-b --exec $DAEMON -- $DAEMON_ARGS \
		|| return 2
}

do_stop(){
	
	# Return
	#   0 if daemon has been stopped
	#   1 if daemon was already stopped
	#   2 if daemon could not be stopped
	#   other if a failure occurred

	start-stop-daemon --stop --pidfile  $PIDFILE \
		--user $USER \
		--retry=TERM/30/KILL/5

	RETVAL="$?"
	[ "$RETVAL" = 2 ] && return 2
	
	# Many daemons don't delete their pidfiles when they exit.
	rm -f $PIDFILE
	return "$RETVAL"

}

case "$1" in
  start)
	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
	do_start
	case "$?" in
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
	esac
	;;
  stop)
	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
	do_stop
	case "$?" in
		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
	esac
	;;
  restart|force-reload)
	log_daemon_msg "Restarting $DESC" "$NAME"
	do_stop
	case "$?" in
	  0|1)
		do_start
		case "$?" in
			0) log_end_msg 0 ;;
			1) log_end_msg 1 ;; # Old process is still running
			*) log_end_msg 1 ;; # Failed to start
		esac
		;;
	  *)
	  	# Failed to stop
		log_end_msg 1
		;;
	esac
	;;
  *)
	#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
	echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
	exit 3
	;;
esac

:

Script para importar varios shapes a postgis

Thursday, April 14th, 2011

Hola gente, para todos aquellos que hayan leído este post, este no les agregará mucho. Solo quiero dejarlo acá por si algún día lo tengo que usar de nuevo. Este escripcito nos pasa a postgis todos los archivos de un directorio, no es guau pero nos ahorra una o dos horas de trabajo.

PGPASSWORD=clavedepostgres
export PGPASSWORD
PGUSER=postgres
export PGUSER

for i in $(ls *.shp); do
nombre=$(echo $i | cut -d "." -f 1);
shp2pgsql -I -s 4326 -W latin1 $i $nombre | psql -d hidricos
done;
Un abrazo a mi amigo Luís Acosta, que me ayudó con todo esto.
Saludos a todos.

Como importar un dump de SQL Manager para postgres

Tuesday, March 15th, 2011

Hola gente, a veces los clientes me envían dumps (archivos SQL) de SQL manager, el problema es el encode de estos archivos, utf16 en lugar de utf8. si alguien tuvo el problema para convertir los archivos muy fácil…

iconv -f utf16 -t utf8 -o to_postgres.sql from_sql_manager.sql
psql -U fpuertas bd_otea -f  to_postgres.sql

y listo, ya podemos importar el archivo.

Espero les sirva.

Ligthttp over plesk

Thursday, September 16th, 2010

El escenario es el siguiente, tenemos un virtualhost que consume muchísimos recursos de CPU por la gran cantidad de visitas que recibe, entonces la idea es activar solo para ese host ligthttp dentro de plesk de una manera transparente.

(more…)

Sincronizar carpetas en Mac con rsync

Tuesday, July 27th, 2010

Bueno, aquí les voy a dejar un buen ejemplo de como sincronizar fácilmente carpetas con rsync. Lo primero que tienen que hacer es leer este post en donde les explica como generar una public key, la que será usada luego como mecanismo de autenficación. Una vez hecho eso vamos a crear una flujo en el automator que les tiene que quedar así:

(more…)

Encriptar archivos usando gpg

Tuesday, July 27th, 2010

Bueno, este va a ser un post cortito así que voy al grano rápido. El escenario es el siguiente, tengo una copia de seguridad .tar.gz y no quiero que nadie más que yo pueda acceder a ella en un servidor determinado.

(more…)

Como tener multiples instancias de mysql en el mismo servidor

Tuesday, June 1st, 2010

A veces es útil darle a nuestros usuarios la posibilidad de crear bases de datos y dropearlas, pero claro, es un compromiso para la seguridad ya que pueden ver y dropear bases de datos de otros usuarios, entonces lo mejor es darle una instancia separada. Un caso de esto, que es el origen de este post, es dokeos. Si lo configuramos para usar una misma base de datos hay un problema serio de perdormance, y si lo configuramos para tener múltiples bases de datos los usuarios no pueden acceder luego a ellas.

(more…)

Backup de plesk (mirror)

Friday, March 19th, 2010

Está vez vamos utilizar un comando “nuevo”, supongamos el siguiente escenario, tenemos un servidor plesk pero queremos darle a nuestros usuarios la tranquilidad de que todos sus datos están replicados en otro disco, pero no queremos usar software raid ni nada de eso sino queremos hacer copias de seguridad.

(more…)

Migrar correos desde dattatec (u otro hosting)

Wednesday, March 10th, 2010

Hola a todos, supongamos que tenemos nuestro servidor de correo hosteado en dattatec y queremos migrar todas las cuentas a otro servidor de correo porque, pues bueno, porque ya no nos va datattec por ejemplo.

(more…)

Perl script para calcular el page rank

Friday, January 29th, 2010

Hola gente acá les dejo un script de perl muy bueno para evaluar el page rank de un sitio.

page_rank-1.0.tar

Cortesía de John Walker un abrazo para el.

Yo lo uso para probar el pagerank de todos los dominios hosteados en mi servidor plesk y así sugerir intercambio de links 😉

Les dejo mi línea de comandos.

for i in $(ls -1 /home/www/vhosts/); do echo $i; ./page_rank.pl “http://www.$i”; done;

Espero les sirva, saludos.
(more…)