Mostrando las entradas con la etiqueta Comandos. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Comandos. Mostrar todas las entradas

25 febrero 2020

Listar servicios activos en Windows

Para obtener una lista de los servicios en ejecución desde la línea de comandos de Windows se utiliza la instrucción:


net start


Si lo que queremos es saber si algún servicio se encuentra en ejecución, podemos hacerlo buscando un texto en el resultado de la instrucción anterior. Por ejemplo, si queremos saber si el servicio de MySQL se encuentra en el listado de servicios activos:


net start | find /i "mysql"


También, podemos hacerlo consultando el estado de un servicio específico por su nombre:


sc query mysql


El resultado para este último caso se muestra en la imagen


06 febrero 2014

Purgar / borrar todos los mensajes de un servidor POP3 en PHP

Debido a una configuración incorrecta de la cuenta de correo predeterminada en un dominio, dicho buzón se encontraba con más de 150 mil mensajes la mayoría siendo correo basura.

Borrarlos manualmente desde la interfaz webmail no era una opción, tampoco descargarlos al cliente de correo debido a que eso representaba además del tiempo más de 1GB de tráfico. De igual forma no era posible hacerlo con un shell script por las restricciones del proveedor del alojamiento.

Luego de cierto tiempo de búsqueda encontré una página donde tienen un ejemplo de cómo hacerlo en PHP.

El código se muestra abajo, y lo único que hay que tomar en consideración es que dicho código no está completo y esto es a propósito, haciendo falta asignar los valores para las variables para usuario, contraseña y servidor de correo.

<?php 
    // *** ASIGNAR VARIABLES ***

    $cmd = array();
    $cmd[]  = "USER $username\r\n";
    $cmd[]  = "PASS $password\r\n";
    $cmd[]  = "STAT\r\n";
    $cmd[]  = "QUIT\r\n";

    $port = 110;

    $fp  = fsockopen($server, $port);
    if(!$fp) {
        print("Error connecting to server $server");
    }
    else {
        $ret = fgets($fp, 1024);
        foreach($cmd as $ret) {
            fputs($fp,$ret);
            $line = fgets($fp, 1024);
            print($line."<br>");
            if($ret=="STAT\r\n") {
                $fields = explode(" ",$line);
                $num_mails = $fields[1];
                for($i=1;$i<=$num_mails;$i++) {
                    fputs($fp,"DELE $i\r\n");
                    $line = fgets($fp, 1024);
                }
            }
        }
    }
?>

El resultado sería como se ve a continuación:

Enlace al ejemplo original (en inglés):
Purge / delete all emails from a POP server in PHP

28 julio 2009

Linux: borrar archivos del tamaño especificado

En mi caso, no utilizo linux a diario y tampoco me paso leyendo manuales enteros. Así que cada vez que me veo en la necesidad de resolver algún problema también aprendo algo nuevo.

Necesitaba borrar todos los archivos ZIP cuyo tamaño fuera inferior a 1KB de una carpeta que contiene gran cantidad de archivos.

En linux, si no se puede de una forma siempre se podrá de otra, lo que no me pasó por la mente es que fuera tan simple como utilizar los comandos find y rm combinados, pues no recuerdo en algún momento haber visto el parámetro exec de find, aunque viendolo detenidamente es lógico que uno quiera hacer algo con el resultado de la búsqueda.

find . -name "*.zip" -size -1k -exec rm {};

NOTA: si aparece algún mensaje de error del tipo "no se ha dado el argumento requerido a la opción -exec" se soluciona colocando una diagonal invertida al punto y coma.

find . -name "*.zip" -size -1k -exec rm {}\;

Básicamente lo que indicamos al comando find es, que busque todos aquellos archivos cuyo nombre corresponda al patrón *.zip y cuyo tamaño sea menor a 1KB y luego ejecute sobre ese resultado la instrucción rm.

14 febrero 2009

Espacio usado y libre en Linux

Para saber cuál es el espacio utilizado y disponible en cada una de las particiones de nuestro Linux, basta la siguiente instrucción:

df -h

El parámetro -h indica que el dato debe ser mostrado en formato legible, es decir, Kilobytes, Megabytes, etc.


Para saber cuánto espacio ocupa una carpeta o archivo utilizamos el comando:

du -h

Si no indicamos la carpeta o archivo deseado, mostrará los datos correspondientes a los archivos y subcarpetas de nuestra ubicación actual.

El parámetro -S será útil si no queremos incluir las subcarpetas en el total de espacio ocupado.

04 febrero 2009

Nombre NetBIOS desde línea de comandos

Para obtener el nombre NetBIOS de nuestro equipo desde la línea de comandos, basta la siguiente instrucción:

hostname

...y para resolver el nombre de un equipo a partir de su dirección IP:

ping -a 127.0.0.1