From eee71420adfde353f47c4c1188fb1df2cd78a394 Mon Sep 17 00:00:00 2001 From: gitnatxo Date: Thu, 19 Jan 2023 12:53:20 +0100 Subject: [PATCH 1/4] Update dinaip.pl --- source/dinaip.pl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/source/dinaip.pl b/source/dinaip.pl index 87a342f..dd0ccd6 100755 --- a/source/dinaip.pl +++ b/source/dinaip.pl @@ -10,6 +10,7 @@ sub BEGIN { use strict; use Comando; +use Debug; use Demonio; use ConfiguracionDinapiIp; use Proceso; @@ -27,12 +28,16 @@ sub BEGIN { my %opciones; -getopts('isdhla:b:u:p:', \%opciones); +getopts('isfdhla:b:u:p:', \%opciones); unless(keys(%opciones)){ &ayuda(); } +if(exists($opciones{f})){ + &Debug::setPrimerPlano(1); +} + # autentificamos primero si nos pasan usuario if(exists($opciones{u})){ if(exists($opciones{p})){ @@ -91,7 +96,7 @@ sub iniciar{ &Demonio::iniciar(sub { &Proceso::run(@_); - }, $configuracion->frecuencia); + }, $configuracion->frecuencia, exists($opciones{f})); } sub pedirCredenciales{ @@ -383,6 +388,7 @@ sub eliminarZona{ -l Muestra una lista de los dominios pertenecientes a esta cuenta -b Elimina una zona de la monitorización. Sintaxis: dominio:zona_a_eliminar -d Detiene el demonio de DinaIP +-f Arranca el demonio de DinaIP en primer plano y enva logs al terminal -h Despliega esta ayuda -s Muestra el status del demonio de DinaIP. From c5efcc38b9d8ff45ddf7c4b32e04e40fa0677613 Mon Sep 17 00:00:00 2001 From: gitnatxo Date: Thu, 19 Jan 2023 12:54:15 +0100 Subject: [PATCH 2/4] Update Debug.pm --- source/Debug.pm | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/source/Debug.pm b/source/Debug.pm index 9fdfca8..a4b17c6 100644 --- a/source/Debug.pm +++ b/source/Debug.pm @@ -6,25 +6,34 @@ use POSIX qw(strftime); my $INICIADO = undef; my $DEBUG = undef; +my $PRIMERPLANO = undef; + sub log{ - &iniciar unless($INICIADO); - - my $fecha = strftime ("%Y-%m-%d %H:%M:%S",localtime()); - print $DEBUG "[$fecha] $_[0] \n"; + &iniciar unless($INICIADO); + + my $fecha = strftime ("%Y-%m-%d %H:%M:%S",localtime()); + print $DEBUG "[$fecha] $_[0] \n"; } sub iniciar{ + if ($PRIMERPLANO == 1) { + open ($DEBUG, '>>', '/dev/stdin') || + die($!); + } else { + open ($DEBUG, '>>', '/var/log/dinaip.log') || + die($!); + } - open ($DEBUG, '>>', '/var/log/dinaip.log') || - die($!); + $DEBUG->autoflush; - $DEBUG->autoflush; + $INICIADO = 1; +} - $INICIADO = 1; +sub setPrimerPlano{ + $PRIMERPLANO = $_[0]; } 1; - From 3986bbb2848856e237b06a4e1c876f1942a535cf Mon Sep 17 00:00:00 2001 From: gitnatxo Date: Thu, 19 Jan 2023 12:56:52 +0100 Subject: [PATCH 3/4] Update Demonio.pm --- source/Demonio.pm | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/source/Demonio.pm b/source/Demonio.pm index b2213cb..02eee53 100644 --- a/source/Demonio.pm +++ b/source/Demonio.pm @@ -21,25 +21,26 @@ my $AVISO_RECARGA = undef; sub iniciar{ - &Debug::log('Iniciando proceso...'); + &Debug::log('Iniciando proceso...'); - my $proceso = $_[0]; - my $frecuencia = $_[1] || $FRECUENCIA; - - if(my $pid = &demonizar){ + my $proceso = $_[0]; + my $frecuencia = $_[1] || $FRECUENCIA; + my $primerPlano = $_[2] || 0; - open (F, '>', $RUTA_PID); - print F $pid; - close F; + if(!$primerPlano && (my $pid = &demonizar)){ - exit(0); - } - else{ + open (F, '>', $RUTA_PID); + print F $pid; + close F; - &setDemonioCorriendo; + exit(0); + } + else{ - &procesar; - } + &setDemonioCorriendo; + + &procesar; + } } sub procesar{ From 97265124d18c41f0270cc373b38e3669dd54f53f Mon Sep 17 00:00:00 2001 From: Nacho Silla Date: Thu, 19 Jan 2023 16:51:07 +0100 Subject: [PATCH 4/4] Updated README file --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4949c15..c7e2d9f 100644 --- a/README.md +++ b/README.md @@ -39,5 +39,6 @@ Uso: dinaIP [OPCIONES] ... - -l Muestra una lista de los dominios pertenecientes a esta cuenta - -b Elimina una zona de la monitorizacion. Sintaxis: dominio:zona_a_eliminar - -d Detiene el demonio de dinaIP +- -f Arranca el demonio de DinaIP en primer plano y enva logs al terminal - -h Despliega esta ayuda - -s Muestra el status del demonio de dinaIP.