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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Scritp Perl para borrar archivos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Scritp Perl para borrar archivos  (Leído 6,058 veces)
elecktra

Desconectado Desconectado

Mensajes: 120


Ver Perfil
Scritp Perl para borrar archivos
« en: 15 Agosto 2010, 21:16 pm »

Estimados, como estan, hace tiempo encontre la forma de programar un script en Perl para realizar backup de una base de datos de mi web, el mismo es este:

Código
  1. #!/usr/bin/perl
  2. use strict;
  3. print "Content-type: text/html\n\n";
  4. print "Iniciando backup!\n\n";
  5. print "Espere por favor...\n\n";
  6.  
  7. # CUENTA (Ej. cuenta: elserver.com)
  8. my $cuenta = "sitio.com";
  9.  
  10. # USUARIO DE MYSQL
  11. my $usuario = "usuario";
  12.  
  13. # PASSWORD DE MYSQL
  14. my $pass = "password";
  15.  
  16. # IP INTERNA DE MYSQL
  17. my $ip = "192.168.0.X";
  18.  
  19. # BASE DE MYSQL
  20. my $base = "base";
  21.  
  22. my ($wkday,$month,$day,$time,$year) = split(/\s+/, localtime);
  23. my $fecha = "$day-$month-$year";
  24. system("/usr/local/mysql/bin/mysqldump $base -u $usuario --password='$pass' -h $ip > /www/$cuenta/mysql_backup/$cuenta-$fecha.sql");
  25. print "Backup Finalizado!!!\n\n";

La verdad yo de pern no se nada, estoy interesado en hacer un scrip en que em borre lso backup con 1 mes de antiguedad en el servidor, creoq eu modificando ese mismo quizas se pueda.
Espero em puedan ayudar.
Gracias.


« Última modificación: 15 Agosto 2010, 22:53 pm por Leo Gutiérrez. » En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Scritp Perl para borrar archivos
« Respuesta #1 en: 15 Agosto 2010, 22:03 pm »

toma la fecha actual del sistema local y compáralo con la ultima modificación del bakup, si tiene mas de un mes, ps la borra, si no no xD.


En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
elecktra

Desconectado Desconectado

Mensajes: 120


Ver Perfil
Re: Scritp Perl para borrar archivos
« Respuesta #2 en: 15 Agosto 2010, 23:10 pm »

Hola, gracias por al repsuesta Yoya, pero como hago eso, no se nada de Perl, me explcarias.
Gracias.
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Scritp Perl para borrar archivos
« Respuesta #3 en: 16 Agosto 2010, 05:21 am »

Te voy comentando cada linea, si no sabes "NADA" de perl sera un problema xD.
Código
  1. #!/usr/bin/perl
  2. use strict;
  3.  
  4. my $directorio = '/home/yoya/Escritorio'; #Directorio
  5.  
  6. my $dir = search_backup($directorio);#Almaceno los resultado de la funcion en la variable $dir
  7. my @archivos = split(" ",$dir);#Divido la cadena y los guardo en un arreglo
  8. foreach my $archivos(@archivos){#Recorro el arreglo
  9. my $path = $directorio."/".$archivos;#Path completo del archivo
  10.  
  11. my $file_time = (stat($path))[9];#Obtengo la fecha de la ultima modificacion del archivo
  12.  
  13.  
  14. my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($file_time);
  15. my ($sec1,$min1,$hour1,$mday1,$mon1,$year1,$wday1,$yda1y,$isdst1) = localtime(time);
  16.  
  17. #Si el mes de la ultima modificacion es mayor que el mes actual y el dia de la creacion del archivo
  18. #es mayor al dia actual, se ejecuta el if
  19. if($mon1 > $mon && $mday1 >= $mday || $mon1 > $mon-1){
  20. print "$path ah sido borrado\n";
  21. unlink($path);#Se borra el backup con un mes de antiguedad
  22.  
  23. }#Fin del if()
  24.  
  25. }#Fin del bucle foreach()
  26.  
  27.  
  28.  
  29.  
  30. #Funcion para buscar archivos dentro de un directorio
  31. sub search_backup(){
  32. opendir(DIR, $_[0]) || die "Error al abrir $_[0]\n";#Intentamos abrir el directorio
  33.  
  34. my $result;
  35. while((my $archivos = readdir(DIR))){#Leemos el directorio
  36.  
  37. if($archivos !~ m/\.sql$/ig){#Si la extensión no es .sql se ejecuta el if
  38. next;#Pasamos al siguiente ciclo
  39. }#Fin del if
  40. $result .= "$archivos ";#Vamos agregando cada resultado de cada ciclo a la variable $result
  41. }#Fin del bucle while()
  42.  
  43. return $result; #Retornamo los directorios
  44. }#Fin de la funcion
  45.  
« Última modificación: 16 Agosto 2010, 16:05 pm por ~ Yoya ~ » En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
SQL Scritp en VS.NET 2008
.NET (C#, VB.NET, ASP)
striderwar 2 2,476 Último mensaje 7 Abril 2011, 19:49 pm
por [D4N93R]
Scritp de Autoindex con usuario y claves
Desarrollo Web
chikopuunk 1 2,104 Último mensaje 18 Agosto 2013, 14:34 pm
por #!drvy
php scritp para divivir archivo csv o txt
PHP
alexiscruz007 0 2,093 Último mensaje 23 Febrero 2015, 21:33 pm
por alexiscruz007
php scritp para borrar las ultimas 5 lineas de un archivo csv o txt
PHP
alexiscruz007 1 5,775 Último mensaje 24 Febrero 2015, 03:41 am
por engel lex
Programa para borrar archivos
Software
Zorronde 5 5,140 Último mensaje 16 Junio 2022, 13:30 pm
por el-brujo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines