Linux – Comprimir carpeta o archivos desde consola

Linux – Comprimir carpeta o archivos desde consola

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

Función Obtener IP en YII Framework Components

Función Obtener IP en YII Framework Components

yii

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! 😀

Ver Imagen ocultando la url con PHP

Ver Imagen ocultando la url con PHP

lluvia

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! 😀

Ver Imagen ocultando la url con PHP

Listar los archivos de una carpeta en PHP

PHP

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 😀

IPTables – Como desbanear una ip

IPTables – Como desbanear una ip

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.

iptables

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 😀