. "$HOME/.antifraude/conf/afimonio.conf"
. "$HOME/.antifraude/conf/antifraude.conf"
-trap "finalize" INT
-trap "finalize" TERM
-
# Es llamada por los trap para deslockear el afimonio
finalize() {
unlock "afimonio"
#--------------------MAIN SCRIPT----------------------
-# Verifico no correr 2 veces
-if is_lock "afimonio" ; then
- echo "Ya hay una instancia de afimonio corriendo"
- exit 1
-fi
-
-# Me lockeo por las dudas
-lock "afimonio"
-
# Recupero las rutas a todos los directorios y archivos que necesito
# Del antifraude
DATADIR=$ANTI_DATADIR
LOGNAME=$AFIM_LOGFILE
LOGFILE=$LOGDIR/$LOGNAME
+# Capturo señales para salir bien (liberando el lock)
+trap "finalize" INT
+trap "finalize" TERM
+
+# Me lockeo
+lock "afimonio" || die "No se puede correr, hay otra instancia corriendo!"
+
# Comienza el ciclo infinito que mueve los archivos
-while [ true ]; do
+while true; do
for file in `ls $SOURCEDIR` ; do
checkfilename $file
if [ "$?" -eq 0 ]; then
-#/bin/sh
+#/bin/bash
## Los scrips que incluyan deben definir BASE_DIR antes de incluirme!
#BASE_DIR="$PWD"
}
# Crea un archivo de lock para un script
+# Devuelve: 0 si ok, 1 si ya esta lockeado, 2 si no pudo crear lock.
lock () {
- if is_lock "$1" ; then
- # Ya esta loqueado, no lo vuelvo a crear
- echo "No"
- return
- fi
- echo "$$" > "$LOCK_DIR/$1.pid"
+ # si ya esta loqueado, no lo vuelvo a crear
+ is_lock "$1" && return 1
+ # Si no puedo escribir en el dir de lock, da error
+ [ -w "$LOCK_DIR" ] || return 2
+ echo $$ > "$LOCK_DIR/$1.pid"
+ return 0
}
# Desbloquea el script
return 1
fi
}
-
-#leer "Ingrese un directorio" "/tmp" ALGO
-
-#echo "Ingresaste : $ALGO"
-
-# Test de preguntanto
-#preguntar "Sos hombre (s/n)" "sn" OPT
-#if [ "$OPT" == "s" ] ; then
-# echo "Sos un mentiroso!!!"
-#else
-# echo "Jaja ... Trola!"
-#fi
+# Muestra mensaje y sale con código de error
+# Uso: die mensaje [código de error = 1]
+die()
+{
+ echo "$1" >&2
+ exit ${2:-1}
+}
-# Test de preguntanto
-#preguntar "Que preferis (drogas/cafe/vino/coca cola)" "drogas cafe vino \"coca cola\"" OPT
+# Imprime mensaje por salida de error
+# Uso: perr mensajes
+perr()
+{
+ echo $@ >&2
+}
-#echo "Vos decidis : $OPT"