Copiar, clonar o sincronizar una carpeta con ROBOCOPY de Windows 10

ROBOCOPY es un comando de consola de Windows 10 con las funciones del comando COPY pero con opciones más avanzadas. ROBOCOPY tiene funciones parecida al comando rsync de los ambientes Linux con el cual podemos sincronizar dos carpetas o los contenidos completos de dos discos duros.

¿Que ventajas tiene el ROBOCOPY sobre el COPY? Muchas. ROBOCOPY es más robusto y permite especificar más opciones de copiado. Entre otras opciones, le podemos indicar que en caso de estar copiando a una carpeta compartida en red y si llegara haber algún fallo ésta (por ejemplo un error de comunicación, o que se caiga por momentos la red de datos), no suspenda el copiado, si no que reintente varias veces antes de abortar el copiado de ese archivo. También le podemos indicar que conserve las fechas originales de los archivos y carpetas copiados.

A ROBOCOPY también se le puede pedir que sincronice dos carpetas, es decir,  que mantenga idénticas las carpetas en cuanto a contenido. Si un archivo es borrado en la carpeta origen, al hacer el copiado, el mismo archivo sea borrado en la carpeta destino.

Aquí podemos ver más opciones de copiado que permite el comando. Para copiar dos carpetas, en lo personal, he utilizado esta forma:

En el comando anterior le estoy indicando que copie el recurso compartido Carpeta que se encuentra en el servidor 192.168.0.1 a el recurso compartido del mismo nombre pero que se encuentra en el servidor 192.168.0.82. El parámetro u opción /MIR le indica que sincronice las carpetas, si el destino ya tuviera una copia anterior y se han borrado archivos en el origen, elimine dichos archivos del destino y si hay archivos modificados recientemente en el origen, los actualice en el destino. En pocas palabras,  que el destino sea copia exacta del origen.

Con la opción /COPY:DT le indicamos que copie de los archivos tanto los datos (contenido) como las marcas de tiempo (fechas de creación y modificación). Por defecto, si no especificamos esta opción ROBOCOPY intenta copiar además los atributos del archivo, pero al copiar entre dispositivos NAS, no siempre es posible y la copia de los archivos marcará el error de acceso denegado.

ROBOCOPY muestra, por defecto, el porcentaje de avance de cada archivo o carpeta que copia y el número de ellos, la opción /NP evita que esto sea mostrado.

Por último, la opción /log: especifica que en lugar de enviar los registros o mensajes a pantalla, lo haga al archivo que se le indica en dicha opción, en este caso, enviara los mensajes al archivo C:\temp\CopiaCarpeta.log. Si el archivo ya existe, lo sobrescribe. Al final de este archivo se mostrará un resumen de el total de archivos y carpetas copiadas y el número de errores de copiado de cada uno si es que los hubo.

Cabe señalar que por defecto el número de reintentos en caso de fallo al copiar un archivo o directorio es de un millón de veces. Si se desea se puede indicar el número máximo de reintentos con la opción /r: seguido por el número deseado.

¡Hasta pronto!

 

 

Cómo obtener la fecha y hora del último reinicio o arranque de Windows 10

Si por alguna razón queremos saber cuándo se reinició por última vez nuestra computadora con Windows 10, podemos obtener este dato desde la consola de comandos o desde Windows PowerShell.

Desde una consola de comandos la podemos obtener ejecutando el comando systeminfo:

La línea Tiempo de arranque del sistema, señalada con rojo en la imagen anterior, nos muestra el día y hora del último arranque de nuestra computadora. O si sólo queremos que este comando nos muestre solamente esa línea podemos usar esta otra forma:

systeminfo | find /i “Tiempo de arranque”

Desde Windows PowerShell sería con la siguiente instrucción:

Get-CimInstance -ClassName win32_operatingsystem | select csname, lastbootuptime

Espero y les sirva.

¡Hasta la próxima!

Ver programas y los puertos de escucha que éstos ocupan en Windows

Si queremos saber que puertos de nuestra computadora están en estado de escucha o abiertos o de conexión y cuáles son las aplicaciones que los utilizan con el sistema operativo Windows, podemos saberlo ejecutando la siguiente instrucción en una ventana de comando abierta con los privilegios de Administrador:

Lo que nos arrojará algo como esto:

En el ejemplo anterior podemos ver los programas (.exe), los puertos que utilizan y el estado de conexión. Por ejemplo, el programa OneDrive.exe tiene una conexión establecida con el host o servidor msnbot-65-52-108-231 de tipo https mediante el puerto 49738 de la interfaz de red que tiene asignad ala dirección ip 10.0.2.15.

También Windows cuenta con una aplicación gráfica que puede mostrar los mimos resultados que la instrucción anterior: Monitor de recursos.

Para ejecutarla buscamos resmon en Windows 10 y la iniciamos.

Seleccionamos la pestaña Red y damos clic sobre la barra Puertos de escucha:

Esta aplicación nos da otra información útil. Es estado del cortafuegos (firewall) con respecto al puerto, si permite o no conexiones.

Espero y les sea útil este artículo.

¡Hasta la próxima y no olviden visitar a los patrocinadores (anuncios del blog)!

 

Obtener las líneas que contengan direcciones ip de archivos de texto o salida de algún comando en Windows

A veces es necesario extraer de archivos de de texto, como archivos .log de algunos sistemas, las líneas que contengan direcciones IP, ya sea para análisis u otro motivo.

El linux existen herramientas o comandos como grep que permiten hacer esto, en Windows está el comando findstr, que aunque no tan poderoso como el grep, permite hacer lo que estamos buscando.

El comando findstr se debe ejecutar desde una consola o ventana de comandos de Windows, aunque es posible también incluirlo en archivos .bat (procesamiento por lotes) si así se requiere.

En el ejemplo siguiente obtendremos las lineas de salida del comando ipconfig que contengan direcciones IP. Ipconfig es el comando de Windows que nos permite ver la configuración de los adaptadores de red de nuestro equipo Windows. La imagen siguiente muestra los resultados de ejecutar el comanda ipconfig:

Ahora, vamos a obtener, de ese resultado, sólo las lineas que contienen una dirección IP con ayuda del comando findstr. Para eso ejecutaríamos el comando:

Lo que nos daría el siguiente resultado:

Como podemos ver en la imagen, el comando findstr muestra sólo las lineas de salida del comando ipconfig que contienen una dirección IP, el resto de las lineas son ignoradas.

Para obtener las lineas con IPs de un archivo de texto llamado archivo.log, la sintaxis del comando sería:

Para más información y usos del comando findstr pueden visitar la página del comando.

¡Hasta luego!

Borrar archivos viejos o antiguos en Windows desde linea de comando

Aunque esto lo podríamos hacer desde el el explorador de archivo de windows, ordenando los archivos por fecha y seleccionando los que cumplan la condición requerida de antigüedad, existe una forma más práctica de hacerlo usando el comando FORFILES desde la linea de comandos (CMD) del mismo windows. Este comando puede ser usado interactivamente o en un archivo de procesamiento por lotes (batch).

Por ejemplo en el siguiente uso del comando FORFILES:

Indica buscar en la carpeta C:\Documentos (/p “C:\Documentos”) y todas las carpetas contenidas en ella (/s), recursivamente,  aquellos archivos con la extensión .doc (/m *.doc) de 30 días o más de antigüedad (/d -30) y borrar dichos archivos con el comando del (/c “cmd /c del @path”).

También se le puede indicar la fecha exacta de antigüedad:

En este caso borrará los archivos igual o anterior a la fecha del primero de enero del 2017 (/d -01/01/2017), el formato de la fecha como puedes observar es dd/mm/aaaa (día/mes/año).

Más información y usos de este comando lo pueden encontrar aquí.

¡Espero les sirva!

¡No olviden visitar a los patrocinadores!

 

 

Vagrant was unable to mount VirtualBox shared folders.

A iniciar el box de icinga2 me mandaba el mensaje siguiente:

En mi caso se debía a un bug en la versión de VirtualBox Guest Additions (vbguest) instalada en el box (la 5.1.21). Así que procedí a instalar la última versión (5.1.22) ejecutando las siguientes instrucciones:

Instalar el más reciente plugin de vbguest, iniciar el box, instalar la última versión de vbguest, parar el box y volverlo a arrancar.

El mensaje de error desapareció. Espero les ayude.

¡Saludos!

Listar las carpetas compartidas de un disco en red (NAS) en Windows.

Para listar, desde linea de comando, todas las carpetas que está compartiendo un disco en red (NAS) se usa el siguiente comando MS-DOS:

net view \\[disco_nas]

Donde [disco_nas] puede ser el nombre o dirección IP del disco NAS.

Por ejemplo, para listar todal las carpetas qu ecomparte un disco en red que tiene la dirección IP 192.168.0.100, la sintaxis del comando seria:

 net view \\192.168.0.100

El mismo comando serviría para listar las carpetas que comparte otra computadora o servidor en red.

¡Saludos!

There is a process already using the admin port 4848. Glassfish 4/CentOS 6.

El servidor de aplicaciones Glassfish 4.1 de un cliente no quería arrancar y mandaba el mensaje de error especificado en la siguiente imagen:

El servidor corre el sistema operativo CentOS 6 y al inspeccionar los puertos para ver que proceso estaba utilizando el puerto indicado en el mensaje, el 4848, indicaba que ningún proceso estaba ocupando dicho puerto. Así que quedó descartado que fuera otra instancia de Glassfish ejecutándose en la misma máquina.

El problema era que la máquina del cliente no tenía en su archivo /etc/hosts el hostname de su servidor. Para obtener el nombre del hostname.

Así que bastó con editar el archivo /etc/hosts y añadir al final de la IP 127.0.0.1 el hostname del servidor.

Con el comando hostname obtenemos el nombre del servidor. El archivo /etc/hosts debería más o menos quedar así:

Donde HOSTNAME es el nombre del servidor obtenido con el comando hostname.

¡Hasta la próxima!

 

 

¿Cómo actualizar manualmente el certificado SSL Let’s Encrypt en CentOS 7? Cerbot.

Si se instaló y usó el paquete cerbot para instalar el certificado en en el servidor con CentOS 7, el comando para actualizar (renovar) el certificado es el siguiente (ejecutar como root):

El cual arrojará algo como esto:

Si el mensaje termina con (success) significa que el certificado se renovó correctamente, en caso contrario, vea el archivo /var/log/letsencrypt/letsencrypt.log para revisar el porqué del error.

¡Saludos!

Consultar el hardware de nuestra computadora windows desde línea de comando.

Hola a todos, devuelta escribiendo una nueva entrada en el blog y compartiendo conocimiento con ustedes. Muy feliz año a todos mis lectores.

Pues bien, queriendo actualizar el hardware de mi computadora Windows (tengo tiempo usando linux), me pregunté si había alguna forma de consultar los dispositivos hardware (cantidad y modelo de la memoria ram, fabricante tarjeta de video, versión de bios,  tipo de cpu, etc) desde una consola de comando de Windows; y resulta que si la hay: el comando wmic.

Así que aquí les dejo este pequeño videotutorial (mis primeros “pininos” en la creación de videotutoriales, espero ir mejorando poco a poco) del uso de este comando windows, específicamente veremos como obtener las propiedades de la ram, cpu, tarjeta madre y bios de nuestra máquina Windows:

Espero y les guste. ¡Hasta luego!