elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Scripting / Re: ¿Algun robot para programar en python? en: 20 Enero 2017, 10:24 am
Puedes comprar una raspberry pi + modulo Sense Hat que mas o menos haría la misma funcion, yo lo he hecho con perl importando los modulos de python a perl con un metodo que me enseño un amigo y la verdad es muy divertido, detectar temperatura, orientación, etc.
Pero si lo que quieres es que se mueva, va a ser que no es esta tu opción :(
2  Programación / Scripting / Re: Ayuda con un script [PERL] en: 20 Enero 2017, 10:21 am
Pues no habia pensado en ello, ahora si que si muchas gracias  y doy el tema como resuelto ;D
3  Programación / Scripting / Re: Ayuda con un script [PERL] en: 17 Enero 2017, 10:15 am
Lo más probable es que Filesys::DiskSpace::df() no haya sido capaz de sacar la información que se le solicita. Tiene algunos problemas.
 
Después de la línea 26 deberías comprobar que los valores que te devuelve df() son consistentes, o si contienen valores erróneos.

La división por cero creo que se produce en la línea 27, en la que además hay un error: falta poner paréntesis alrededor de $avail+$used. Sin los paréntesis, la operación

my $monit_percentual = (  $avail  /  $avail+$used  ) * 100;

en realidad es

my $monit_percentual = ( ($avail / $avail) +$used) * 100;

Es por la precedencia de los operadores: la división tiene más precedencia que la suma.

Pero antes de hacer la división debes comprobar que $avail+$used es mayor que 0, porque si no salta el error.

Efectivamente, despues de varios test y de mirar el link que me has enviado el comando df no podía obtener los valores.
Hoy en dia estoy usando en ved de Filesys:.DiskSpace el modulo Sys::Filesystem junto al submodulo Sys::Filesystem:Linux para hacer esta tarea.
Ahora lo unico que necesito es saber como poner una cantidad de tiempo antes de que prosiga con el resto del script, pero no creo que me lleve mucho tiempo descubrir como si se puede.
Gracias por la ayuda!
4  Programación / Programación General / Re: Algun robot para programarlo con python¿? en: 16 Enero 2017, 16:54 pm
Si te gusta python puedes comprarte una raspberry Pi y ponerle un sensehat, yo lo he hecho y es realmente entretenido
5  Programación / Scripting / Ayuda con un script [PERL] en: 16 Enero 2017, 16:53 pm
Hola a todos, programando en perl como suelo hacer casi siempre ultimamente (ya soy un poco mejor que la ultima vez que pregunte por aqui) me ha salido un problema del que no se salir.
Mi idea era crear un script que leyera el espacio del sistema de archivos que se quiera (solo funciona en linux por teams de modulos y tal), que diga el tipo de fs, elespacio restante, el usado, y avisara en caso de que hubiera menos espacio libre que un tanto porciento (en el script es un 10).
Todo suena muy bien y me pongo a programar:
Código:
Código
  1.  
  2. #!usr/bin/perl
  3. #solo funciona para unix/linux/solaris(solaris ni idea)
  4. #si da el error "Undefined subroutine &main::SYS_statfs called at Filesys/DiskSpace.pm at line XXX", editar syscall.ph
  5. # (en el perl lib tree) y copiar la linea "SYS_statfs {196;}" fuera del "if (defined &__hp9000s800)" (alrededor de la linea 356)
  6. use strict ;
  7. use warnings ;
  8. use Filesys::DiskSpace ;
  9. use POSIX ;
  10. #sistema de archivos/particion a comprobar espacio
  11. #sacar fecha ;
  12. my $TIME = strftime("%d/%m/%Y %H:%M:%S", localtime(time) ) ;
  13. print "+----------+---+----------+\n" ;
  14. print "+Script made up by 0uts1de+\n" ;
  15. print "+----------+---+----------+\n" ;
  16. print "Today is $TIME \n" ;
  17. print "Write the filesystem/partiton you want to monitor, for example /home or /usr \n" ;
  18. my $monit = <STDIN> ;
  19. chomp $monit ;
  20. print "##warning level is by default about a 20 % of free space, if u want to change this##\n" ;
  21. print "##change the variable warn in the script with a editor like vim or gedit ##\n" ;
  22. ########## warn string ############
  23. my $warn = 10 ;
  24. ###################################
  25. #consegir caracteristicas de la particion/filesystem (raw)
  26. my ($fs_type, $fs_desc, $used, $avail, $fused, $favail) = df $monit ;
  27. my $monit_percentual = (  $avail  /  $avail+$used  ) * 100 ;
  28. my $final_used = $used / 1000 ;
  29. my $final_avail = $avail / 1000 ;
  30. print "$monit is a $fs_type filesystem who has $final_used space used (in MB) and $final_avail of avalible space (in MB too) \n" ;
  31. #comparacion con el porcentaje de $monit_percentual
  32. if ($monit_percentual < $warn) {
  33.        print "Less of the $warn % of the space of the filesystem $monit is avalible for use, consider uninstall unused software \n" ;
  34. }
  35. elsif ($monit_percentual eq $warn) {
  36.        print "Be carefull, exactly the $warn % of the space of $monit is usable, consider uninstall unused software \n" ;
  37. }
  38. else {
  39.        print "There is a $monit_percentual % of avarible space of the disk \n" ;
  40. }
  41.  
Pero ahora viene mi duda, y es que de imput recibo este error y despues de varias horas rascandome la cabeza sigo desconociendo proqué se produce:
Codigo:
Código
  1. +----------+---+----------+
  2. +Script made up by 0uts1de+
  3. +----------+---+----------+
  4. Today is 16/01/2017 16:31:04
  5. Write the filesystem/partiton you want to monitor, for example /home or /usr
  6. /
  7. ##warning level is by default about a 20 % of free space, if u want to change this##
  8. ##change the variable warn in the script with a editor like vim or gedit ##
  9. Illegal division by zero at analizador de filesystem (16-1-17).pl line 35, <STDIN> line 1.
  10.  

(el / que se ve en la linea 6 de la salida es mi input, ya que queria probar con el sistema de archivos /)
Como ya dije en mi anterior post, gracias por adelantado :D
6  Programación / Scripting / Re: Ayuda con un script perl: en: 14 Diciembre 2016, 16:46 pm
Hola outside
No se lo que introduciras en tu teclado , pero con el chop vas a borrar el último carácter de la cadena que le pase, acostumbrate a declarar las variables con la palabra reservada "my".

Y otra cosa la expresión regular la tienes mal, empieza haciendo una sencillita y luego vete añadiento mas casos para que te quede un expresión regular más completa,prueba algo así

Código
  1. my $num =<STDIN>;
  2.  
  3. until($num =~ [A-Z]/gi ){
  4. .......
  5. }
  6.  

Un saludo

Gracias por la respuesta Diego5, gracias a tu comentario he consegido que funcione, y el tema de las variables me servira para mas adelante, un saludo a ti tambien  :)
7  Programación / Scripting / Ayuda con un script perl: en: 13 Diciembre 2016, 18:41 pm
Hola, os pido ayuda porque soy nuevo en perl e intentando hacer un codigo no funciona y no se porque, antes de empezar, gracias por leer esto, y si eso gracias por la ayuda!!  :)

Empezemos:

He intentado crear un codigo que te pregunta por 2 numeros de autentificación, para luego decirtelos junto a tu nombre, es muy sencillo pero era solo para practicar los "until", lo que lleva until dentro es para comprobar si es un numero, y es alli donde falla,ya que da igual si es numero o no que lo deja pasar, y como no se porque falla aqui estamos!, este es el codigo:
Código:
#!usr/local/bin/perl

print "\n" ;

print "recuerde los numeros que escriba, seran preguntados luego\n" ;

print "--------------------------------------\n" ;

print "introduzca sus numeros de identificación : " ;

$num1 = <STDIN> ;

chop $num1 ;

until ( $num1 = ~ /^[+-]?\d+$/ ) {

print "no es un numero,porfavor, escribe un numero:\n" ;

$num1 = <STDIN> ;

chop $num1 ;

}

print "perfecto, sigamos el proceso....\n" ;

print "ahora introduce otro: " ;

$num2 = <STDIN> ;

chop $num2 ;

until ( $num2 = ~ /^[+-]?\d+$/ ) {

print "no es un numero, porfavor escriba uno\n" ;

$num2 = <STDIN> ;

chop $num2 ;

}

print "perfecto, sige mas porfavor...\n" ;

print "introduce tu nombre: " ;

$nom = <STDIN> ;

chop $nom ;

print "vale, ahora reintroduzca sus numeros si estos eran validos, primero el primero que introdució:\n" ;

$num3 = <STDIN> ;

chop $num3 ;

print "ahora el segundo numero, porfavor" ;

$num4 = <STDIN> ;

chop $num4 ;

print "hola $nom , tus numeros identificativos son $num3 y $num4\n " ;

Gracias por la ayuda por adelantado!!!
8  Foros Generales / Foro Libre / Re: La canción más bonita que he escuchado hasta ahora en: 22 Septiembre 2016, 16:12 pm
Si nos ponemos en ese plan friki...



Demasiado internet por hoy :v

Para canciones bonitas....

9  Foros Generales / Foro Libre / Re: USB Killer ¿Qué opinas? en: 22 Septiembre 2016, 16:03 pm
Pues la verdad cuando uno lo piensa, el USB Killer puede ser de mucha utilidad, eso si, en casos tan concretos que casi no merece la pena comprarlo.
Yo que sepa solo he visto uno y me lo regaló un amigo diciendo que dentro tenía pelis, cuando no estaba en el cuarto se lo metí en su ordenador para ver que películas eran  >:D
10  Seguridad Informática / Hacking Básico / Re: Ser un hacker bueno con mi edad ¿será posible? en: 22 Septiembre 2016, 15:24 pm
Primera regla basica

EL QUE QUIERE SER HACKER NO LO DICE  ::) ::) ::) ::) ::)


Luis

xD mal vamos, otra regla así de estas "de oro":
Nunca digas todo lo que sabes, y algo muy obvio, usa vpn.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines