by Julio Ruiz | Dic 6, 2017 | Informática, Linux, Sistema Operativo
Es muy fácil y útil comprimir archivos y sobre todo carpetas enteras desde consola. Es útil a la hora de realizar backups o copias de seguridad de directorios, ya que permite comprimir un directorio entero y descargarlo de forma más segura y más cómoda.
El comando te tienes que ejecutar desde la consola es el siguiente:
tar -zcvf nombre-archivo.tar.gz nombre-directorio
Donde,
-z: Comprimir archivos usando gzip
-c: Crear un nuevo archivo
-v: Verbose, es decir, mostrar el proceso durante la creacion del archivo
-f: nombre de archivo
Ahora bien, Como Descomprimir un archivo .tar.gz.
El comando necesario para descomprimir sería el mismo pero cambiando algunos atributos.
tar -xvzf miarcho.tar.gz
Donde,
-x: extrae el contenido del archivo comprimido
-v: Verbose, es decir, mostrar el proceso durante la creacion del archivo
-f: nombre de archivo
Otros formatos y comandos para comprimir y descomprimir mas usados
Ficheros gz
Comprimir
gzip -9 fichero
Descomprimir
gzip -d fichero.gz
Ficheros bz2
Comprimir
bzip fichero
Descomprimir
bzip2 -d fichero.bz2
Tanto gzip como bzip2 solo comprimen ficheros. No son capaces de empaquetar carpetas, para esto se utiliza el comando tar que he indicado anteriormente.
Ficheros zip
Comprimir
zip archivo.zip ficheros
Descomprimir
unzip archivo.zip
Ficheros rar
Comprimir
rar -a archivo.rar ficheros
Descomprimir
rar -x archivo.rar
Tags de búsquedas:
comprimir carpeta linux, comprimir carpeta en linux, comprimir una carpeta en linux, linux comprimir carpeta, comprimir carpetas linux, comprimir directorio linux, comprimir carpeta tar gz, comprimir carpetas en linux, comprimir carpeta tar, comprimir una carpeta linux
by Julio Ruiz | Mar 14, 2016 | Informática, PHP, Programación, Yii Framework

Hola, hace rato no posteaba nada, he estado con hartas cosas he ahí el motivo, ahora les mostraré una función que utilizo en mis sistemas creados en YII para obtener la IP de quien se logea o realiza alguna acción en el sistemilla.
Es bastante sencilla y solo hay que alojarla en un nuevo archivo que se debe crear en la carpeta components obviamente que esta clase debe ser extención de controladores globales.
En la carpeta Components creado el siguiente archivo llamado Funcion.php (en realidad el nombre que deseen ponerle al archivo), el cual tendría el siguiente contenido.
<?php
class Funcion extends CController
{
public static function obtenerIP()
{
if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$client_ip = ( !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : ( ( !empty($_ENV['REMOTE_ADDR']) ) ? $_ENV['REMOTE_ADDR'] : "unknown" );
$entries = preg_split('/[, ]/', $_SERVER['HTTP_X_FORWARDED_FOR']);
reset($entries);
while (list(, $entry) = each($entries)) {
$entry = trim($entry);
if ( preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", $entry, $ip_list) ) {
$private_ip = array(
'/^0\./',
'/^127\.0\.0\.1/',
'/^192\.168\..*/',
'/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/',
'/^10\..*/');
$found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);
if ($client_ip != $found_ip){
$client_ip = $found_ip;
break;
}
}
}
} else { $client_ip = ( !empty($_SERVER['REMOTE_ADDR']) ) ? $_SERVER['REMOTE_ADDR'] : ( ( !empty($_ENV['REMOTE_ADDR']) ) ? $_ENV['REMOTE_ADDR'] : "unknown" ); }
return $client_ip;
}
}
?>
Ahora para llamar la función es simple desde el controllador agregas la siguiente línea:
$model->ip = Funcion::ObtenerIP();
Y estaríamos listo.
Saludos! 😀
by Julio Ruiz | Ene 18, 2016 | Informática, PHP, Programación

El día de hoy necesitaba cargar una imagen pero que no se vea su ubicación real, leyendo y leyendo info obviamente de PHP me encontré con la funcion chunk_split() el cual se relaciona con base64_encode, el cual nos permite codificar en base64 la imagen y así mostrarla como si hicieras un simple <img src=”imagen.jpg”>
El código para esta función es:
// Seleccionamos la imagen que queremos codificar, también puedes poner la dirección donde se encuentra la imagen
$imagen = file_get_contents("mi_imagen.jpg");
//Codificamos la imagen en base64
$imagen_base64 = chunk_split(base64_encode($imagen));
// Para mostrar la imagen codificada sería lo siguiente
echo '<img src="data:image/jpg;base64,'.$imagen_base64.'" />';
voilà!
Con eso tenemos la imagen, en codificación base64 sin necesidad de mostrar la url real de dicha imagen.
Saludos! 😀
by Julio Ruiz | Ene 15, 2016 | Informática, PHP, Programación

Con el script que muestro a continuación se podrá ver el contenido de una carpeta, todos sus archivos y carpetas que tenga dentro.
Lo que se hace es revisar la carpeta actual, recorrer a través de un while el contenido y verificados si este es un archivo o carpeta, si es carpeta lo dejamos entre corchetes [], así hacemos la diferencia con los archivos, que se encuentran en la carpeta.
Este es script es bastante básico y simple pero nos ayuda a como verificar y obtener el contenido de una carpeta en PHP asi de como recorrerlo.
<?php
$carpeta = opendir("."); // Ruta actual
while ($archivo = readdir($carpeta)) // Leemos la carpeta obteniendo uno a uno los archivos existentes
{
if (is_dir($archivo)) // Aquí vemos si es o no una carpeta
{
echo "[".$archivo . "]<br />"; // Si es una carpeta lo dejamos entre corchetes
else
{
echo $archivo . "<br />";
}
}
?>
Este script obviamente se puede mejorar agregando una tabla o iconos etc. Espero en algún momento les sirva.
Saludos 😀
by Julio Ruiz | Ene 15, 2016 | Configuración, Informática, Linux, Sistema Operativo
Cuando necesitemos ver las IP’s que se encuentran baneadas en el server, simplemente ejecutamos el siguiente comando:
iptables -vnL
Nos aparece algo parecido a la imagen siguiente, hay que fijarse en la información que nos indica fail2ban-SERVICIO para borrar el que nos interesa.

Si nuestra intención es desbanear la IP 14.141.36.216 del servicio ssh, debemos ejecutar el siguiente comando:
iptables -D fail2ban-ssh 2
Si ven en el comando anterior pusimos el número 2 el cual nos indica que del listado queremos desbanear la línea número 2, que es donde se encuentra la IP antes mencionada.
Saludos 😀
by Julio Ruiz | Dic 1, 2015 | Informática, PHP, Programación

El siguiente código bastante sencillo por lo que se ve, nos sirve para calcular los días entre dos fechas utilizando la función de PHP strtotime:
function DiasTranscurridos($fec_inicio,$fec_termino)
{
// Las fechas enviadas son formato "2015-12-01"
$cantidad = (strtotime($fec_inicio)-strtotime($fec_termino))/86400;
// Redondeamos el dato hacia abajo
$cantidad = floor($dias);
return $dias;
}
// Ejemplo de uso:
echo DiasTranscurridos('2015-12-01','2015-12-10');
// Resultado : 9
Se ve claramente que para que el código funcione simplemente se debe enviar las dos fechas o parámetros, indicando la fecha inicial y la fecha de término donde queremos calcular la cantidad de días.
Saludos!
😀