Dom Ago 27, 2006 6:15 pm
|
 |
TELCO71
Perlero Nuevo

|
Registrado: 10 Ago 2006
Mensajes: 48
Ubicación: Buenos Aires / Argentina
|
|
| Problemas con el módulo " DateTime " de Perl |
|
|
Estimados ,
Tengo problemas para instalar el módulo " DateTime " . Lo intenté instalar desde CPAN y bajando el archivo por FTP y luego instalarlo manualmente pero no me deja instalarlo porque el make test da errores.
¿ Qué puede ser lo que estoy haciendo mal ?
Estoy necesitando este módulo para colocarles la fecha actual de la PC a unos archivos que quiero subir por FTP para hacer el backup diario de los mismos.
Este es el error que me arroja al querer ejecutar el script que utiliza ese módulo. Sé que el error es debido a que estoy utilizando un módulo que no tengo instalado. El problema es que no me lo deja instalar.
¿ Le pasó lo mismo a alguien ?
¡¡ Saludos y muchas gracias !!
Telco
| Código: |
[root@localhost ~]# perl FTP_script.pl
Can't locate DateTime/TimeZone.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i386-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .) at /usr/lib/perl5/site_perl/5.8.5/DateTime.pm line 53.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.5/DateTime.pm line 53.
Compilation failed in require at FTP_script.pl line 7.
BEGIN failed--compilation aborted at FTP_script.pl line 7.
[root@localhost ~]# |
|
|
|
|

Dom Ago 27, 2006 6:27 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4226
Ubicación: Valladolid, España
|
|
|
|
|
El error es claro: no encuentra el módulo DateTime::TimeZone.
Es infinítamente mejor que intentes instalar cualquier módulo de esta manera:pues además de instalar el módulo, instalará todos los módulos de los que depende. |
|

Lun Ago 28, 2006 6:33 am
|
 |
TELCO71
Perlero Nuevo

|
Registrado: 10 Ago 2006
Mensajes: 48
Ubicación: Buenos Aires / Argentina
|
|
|
|
|
Hola Explorer ,
Muchas gracias por tu respuesta , seguí tus indicaciones ... pero mi script me sigue dando error porque no encuentra el módulo .
ERROR AL EJECUTAR EL SCRIPT :
| Código: |
[root@localhost ~]# perl FTP_script.pl
Can't locate DateTime/TimeZone.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i386-linux-thread- |
Uso ese módulo solamente para colocarle la fecha a los archivos de mi script de backup de logs.
Les copio el script para que me indiquen si se puede realizar de otra forma sin utilizar este módulo.
Cómo lo ejecuto 2 veces al día me interese que los log´s comprimidos queden con la fecha en su nombre.
¡¡ Saludos y muchas gracias !!
TELCO |
|
Lun Ago 28, 2006 7:58 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4226
Ubicación: Valladolid, España
|
|
|
|
|
| Código: |
| cpan DateTime::TimeZone |
|
|
Lun Ago 28, 2006 8:55 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4226
Ubicación: Valladolid, España
|
|
|
|
|
Una llamada system dentro de Module/Build/Base.pm falla porque dice que está recibiendo demasiados parámetros en su ejecución. Pero parece que sólo falla en el momento del test.
Prueba a instalarlo con: | Cita: | | cpan -fi DateTime::TimeZone |
Eso también quiere decir que tienes una instalación Perl muy antigua o estás corriendo con un shell con limitación de ejecución muy fuertes. Repasa el ulimit de tu sistema. |
|

Lun Ago 28, 2006 9:23 am
|
 |
TELCO71
Perlero Nuevo

|
Registrado: 10 Ago 2006
Mensajes: 48
Ubicación: Buenos Aires / Argentina
|
|
|
|
|
¡¡ HI !!
¿¿ Pasa lo mismo, necesito actualizar mi versión del Perl ??
| Código: |
[root@localhost ~]# cpan -fi DateTime::TimeZone
Unknown option: f
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
Database was generated on Mon, 28 Aug 2006 03:32:36 GMT
Running install for module DateTime::TimeZone
Running make for D/DR/DROLSKY/DateTime-TimeZone-0.47.tar.gz
CPAN: Digest::MD5 loaded ok
[root@localhost ~]# ulimit
unlimited
[root@localhost ~]# |
¡ Saludos y gracias !
TELCO |
|

Lun Ago 28, 2006 9:30 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1390
Ubicación: México
|
|
|
|
|
| TELCO71 escribió: | HI !!
Pasa lo mismo , necesito actualizar mi versión del PERL ??
|
Pues si no tienes la última versión de Perl, te conviene instalarla, pues así te aseguras de tener los menos bugs posibles. Muchas veces la reinstalación del Perl soluciona todo este tipo de errores.
Saludos |
|
Lun Ago 28, 2006 9:44 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4226
Ubicación: Valladolid, España
|
|
|
|
|
Si tu cpan no entiende la opción -f, es que es casi del siglo pasado (del XX )
Ultima edición por explorer el Jue Ago 07, 2008 12:20 pm, editado 1 vez |
|
Lun Ago 28, 2006 10:14 am
|
 |
TELCO71
Perlero Nuevo

|
Registrado: 10 Ago 2006
Mensajes: 48
Ubicación: Buenos Aires / Argentina
|
|
|
|
|
Estimados ,
La versión que tengo es la siguiente :
| Código: |
[root@localhost ~]# perl -v
This is perl, v5.8.5 built for i386-linux-thread-multi
Copyright 1987-2004, Larry Wall |
Tengo la distro de CentOS . ¿ Me recomiendan instalar la última versión ?
Desde donde la puedo bajar .
¡ Saludos y gracias !
Telco |
|
Lun Ago 28, 2006 10:40 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1390
Ubicación: México
|
|
|
|
|
Hola:
Pues si puedes instalar la nueva versión en nada te afecta. También como te comentaba te puede convenir pues puede ser que tengas algún archivo corrupto o mal copiado que es lo que genera el tipo de error que te están saliendo.
La última versión de Perl es la 5.8.8
http://www.perl.com/CPAN/src/stable.tar.gz
Saludos |
|
Lun Ago 28, 2006 10:46 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4226
Ubicación: Valladolid, España
|
|
|
|
|
Uso los sistemas de administración de CentOS ANTES de instalar los programas a mano...
En tu caso, como es una distribución basada en Red Hat, será usando el yum. |
|

Lun Ago 28, 2006 12:21 pm
|
 |
TELCO71
Perlero Nuevo

|
Registrado: 10 Ago 2006
Mensajes: 48
Ubicación: Buenos Aires / Argentina
|
|
|
|
|
Estimados ,
Instalé la versión 5.8.8 a mano
Ahora tengo las 2 versiones instaladas actualmente .... ¿cómo puedo dejar la versión 5.8.8 como default ? La otra más vieja ¡¡ la tengo que desinstalar ??
| Código: |
[root@localhost ~]# perl5.8.8 -v
This is perl, v5.8.8 built for i686-linux
Copyright 1987-2006, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
[root@localhost ~]# perl -v
This is perl, v5.8.5 built for i386-linux-thread-multi
Copyright 1987-2004, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.
[root@localhost ~]# |
¡¡ Saludos y muchas gracias !!
Telco  |
|

Lun Ago 28, 2006 12:35 pm
|
 |
TELCO71
Perlero Nuevo

|
Registrado: 10 Ago 2006
Mensajes: 48
Ubicación: Buenos Aires / Argentina
|
|
|
|
|
Estimado Explorer ,
¿ Se podría hacer lo que necesito sin utilizar el módulo " DateTime " ?
Yo en el script lo utilizo solo para colocarle la hora actual a los archivos al momento de zipearlos.
¿Cómo podría hacer para sacar la hora del sistema sin utilizar el módulo de " DateTime " que no puedo instalar ?
Saludos
Telco |
|


Lun Ago 28, 2006 12:57 pm
|
 |
TELCO71
Perlero Nuevo

|
Registrado: 10 Ago 2006
Mensajes: 48
Ubicación: Buenos Aires / Argentina
|
|
|
|
|
¡¡¡ HI !!!
¿Qué te parece este código, Explorer ??
Lo que quiero... es colocarle al archivo comprimido que genero la fecha actual para luego poder identificarlos más fácilmente.
¿ Me entiendes ? Si puedes corregirlo o mejorarlo desde ya te lo agradeceré mucho
| Perl: | #!/usr/bin/perl -w
use strict;
use Net:: FTP;
no warnings;
my $USERNAME = "user";
my $PWD = "passw";
my $SERVER = "ip";
my $ARCHIVO = "LOGS";
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst)= localtime(time);
$year= $year+ 1900;
$mon= $mon+ 1;
$fecha= "YMD_$year-$mon-$mday\_HM_$hour:$min";
system("/usr/bin/gzip /root/LOGS/*.log" $ARCHIVO_$fecha )
my $FTP = Net:: FTP-> new($SERVER) or die ("No se pudo conectar $!");
$FTP-> login($USERNAME, $PWD) or die ("Login incorrecto: $!");
$FTP-> cwd("/root/LOGS/");
$FTP-> put( *.gz );
$FTP-> quit(); |
Saludos
TELCO |
|
Powered by phpBB © 2001, 2005 phpBB Group
|