...

Respaldo con Cobian Backup a través de SFTP

Cobian Backup

Cobian Backup es una herramienta muy popular para realizar respaldos desde una PC con Windows. Si bien tiene muchísimas opciones, incluyendo la posibilidad de realizar tareas antes y después de realizados los respaldos, no tiene opciones tan básicas como la posibilidad de agregar como destino del respaldo un servidor SFTP. Esto, por lo que se lee en la web de Cobian ha quedado resuelto en la nueva versión llamada Cobian Reflector.

SFTP

Como siempre en software hay una posibilidad de mejorar la funcionalidad, se puede utilizar un software auxiliar para poder realizar los respaldos a través de SFTP. Para ello se debe instalar el programa Bitvise Tunnelier, de descarga gratuita en su web.

Una vez instalado el programa tenemos que agregar, en la pestaña Login, los datos de conexión al servidor SSH: servidor, puerto, usuario y contraseña o clave SSH.Bitvise Tunnelier FTP to SFTP Bridge

Hecho esto, vamos a la pestaña Services y habilitamos el servicio de puente FTP a SFTP, ingresando como interface de escucha 127.0.0.1 y puerto 21. Posteriormente probamos que funcione la conexión y guardamos el perfil con en una ubicación y con un nombre que debemos recordar en el siguiente paso. Por ejemplo, c:\puente-sftp.tpl

Ahora vamos a Cobian Backup y en la tarea correspondiente elegimos el destino FTP poniendo la IP 127.0.0.1 y el puerto 21, tal como hicimos en Tunnelier.

A continuación vamos a la opción Eventos Prerespaldo y agregamos el comando para ejecutar Tunnelier y el puente FTP-SFTP cuyos ajustes guardamos anteriormente:

C:\Program Files (x86)\Bitvise SSH Client\BvSsh.exe -profile=c:\puente-sft.tlp -hide=main -loginonstartup -autoLogout –exitOnLogout

y una pausa de 10 segundos para que dé tiempo a que la conexión se establezca:

PAUSE,10,

En enventos Post-Respaldo agregamos una pausa y detenemos el proceso del Bitvise SSH Client en caso de que no se haya cerrado con el comando AutoLogout.

PAUSE,10,
taskkill /F /IM BvSsh.exe

 

Extraído de DudasIT

Reglas de oro

Leí esta publicación en LinkedIn hace poco y me gustó compartirla. Quizás no esté 100% de acuerdo en todos los puntos, pero la idea general se entiende:

  1. Nunca saludés de mano a nadie sin ponerte de pie.
  2. En una negociación, nunca hagas la primera oferta.
  3. Si te confían un secreto, guardalo.
  4. Devolvé con tanque lleno el auto que te prestaron.
  5. Hacé las cosas con pasión o mejor no las hagas.
  6. Cuando saludés de mano, hacelo firme y mirando a los ojos.
  7. Viví la experiencia de hacer un viaje solo.
  8. Nunca rechaces una pastilla de menta, las razones son obvias.
  9. Aceptá consejos si querés llegar a viejo.
  10. Acercate a comer con la persona nueva de la oficina.
  11. Cuando le escribas a alguien enojado, terminá y volvé a leerlo, después borralo y hacelo de vuelta.
  12. En la mesa no hablés de trabajo, política o religión.
  13. Sé justo, defendé a los que son abusados sin abusar.
  14. Escribí tus metas y después trabajá por ellas.
  15. Defendé tu punto de vista sin ofender ni insultar, sé tolerante y respetuoso ante el ajeno.
  16. Llamá y visitá a tus padres, hijos, familiares y amigos, no pierdas el tiempo esperando que ellos lo hagan primero.
  17. Nunca te arrepientas de nada, aprendé de todo.
  18. En momentos o días de soledad, relajate, disfrutá y aprendé.
  19. El honor y la lealtad son básicos en tu personalidad.
  20. No le prestés dinero a quien sabés que no te va a pagar.
  21. Creé en algo.
  22. Tendé tu cama al levantarte.
  23. Cantá en la ducha.
  24. Cuidá una planta o un jardín.
  25. Observá el cielo cada vez que puedas.
  26. Descubrí tus habilidades y explotalas.
  27. Amá tu trabajo o dejalo.
  28. Pedí ayuda cuando la necesités.
  29. Enseñale un valor a alguien, de preferencia a un niño.
  30. Valorá y agradecé a quien te tienda la mano.
  31. Sé amable con tus vecinos.
  32. Hacele el día más alegre a alguien.
  33. Competí con vos mismo.
  34. Regalate algo mínimo una vez al año.
  35. Cuidá tu salud.
  36. Saluda con una sonrisa siempre.
  37. Pensá rápido, pero hablá despacio.
  38. No hablés con la boca llena.
  39. Lustrá tus zapatos y cortá tus uñas.
  40. No opinés sobre temas que desonozcas.
  41. Nunca maltratés a un animal.
  42. Alzá la voz ante las injusticias.
  43. Nunca pierdas la maravillosa oportunidad de quedarte callado.
  44. Reconocé a alguien su esfuerzo.
  45. Sé humilde ante todo.
  46. Nunca te olvidés de dónde venís.
  47. Viajá cada vez que te sea posible.
  48. Cedé el paso.
  49. Bailá bajo la lluvia.
  50. Buscá tu éxito sin desistir.

De paso les cuento que al copiar este texto tenía incluidos los número al principio de cada renglón y, para sacarlos utilicé un procesador de texto plano con soporte para expresiones regulares (Gedit). Para eliminar los número de todas las líneas solo tuve que hacer una búsqueda & reemplazo con la siguiente reg-ex [0-9]+\.

 

 

Listas de bloqueo (Ad-lists) para pi-hole

Dónde encontrar listas

Por si no encuentran fácilmente o no quieren perder el mismo tiempo que pierdo yo cada vez que quiero actualizar/agregar listas de bloqueo a mi amado pi-hole, les dejo unas cuentas.

En primer lugar les comento que en estos sitios se pueden ver listas separadas por categoría y agregar las que queramos según nuestras preferencias:

  • https://www.github.developerdan.com/hosts/
  • https://firebog.net/
  • https://oisd.nl/?p=dl

La última URL tiene una lista completa con muchísimos hosts (¡más de 20 Mb!) lo que va a hacer que demore un poco en actualizarse. Ténganlo en cuenta para no sobrecargar su pi-hole.

Algunas listas

  • https://dbl.oisd.nl/
  • https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
  • https://raw.githubusercontent.com/PolishFiltersTeam/KADhosts/master/KADhosts.txt
  • https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Spam/hosts
  • https://v.firebog.net/hosts/static/w3kbl.txt
  • https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
  • https://raw.githubusercontent.com/jonschipp/mal-dnssearch/master/mandiant_apt1.dns
  • https://raw.githubusercontent.com/Sekhan/TheGreatWall/master/TheGreatWall.txt
  • https://adaway.org/hosts.txt
  • https://v.firebog.net/hosts/AdguardDNS.txt
  • https://v.firebog.net/hosts/Admiral.txt
  • https://raw.githubusercontent.com/anudeepND/blacklist/master/adservers.txt
  • https://v.firebog.net/hosts/Easylist.txt
  • https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext
  • https://raw.githubusercontent.com/FadeMind/hosts.extras/master/UncheckyAds/hosts
  • https://v.firebog.net/hosts/Easyprivacy.txt
  • https://v.firebog.net/hosts/Prigent-Ads.txt
  • https://gitlab.com/quidsup/notrack-blocklists/raw/master/notrack-blocklist.txt
  • https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.2o7Net/hosts
  • https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt
  • https://hostfiles.frogeye.fr/firstparty-trackers-hosts.txt
  • https://raw.githubusercontent.com/Kees1958/W3C_annual_most_used_survey_blocklist/master/TOP_EU_US_Ads_Trackers_HOST
  • https://raw.githubusercontent.com/DandelionSprout/adfilt/master/Alternate%20versions%20Anti-Malware%20List/AntiMalwareHosts.txt
  • https://osint.digitalside.it/Threat-Intel/lists/latestdomains.txt
  • https://s3.amazonaws.com/lists.disconnect.me/simple_malvertising.txt
  • https://v.firebog.net/hosts/Prigent-Crypto.txt
  • https://mirror.cedia.org.ec/malwaredomains/immortal_domains.txt
  • https://bitbucket.org/ethanr/dns-blacklists/raw/8575c9f96e5b4a1308f2f12394abd86d0927a4a0/bad_lists/Mandiant_APT1_Report_Appendix_D.txt
  • https://phishing.army/download/phishing_army_blocklist_extended.txt
  • https://gitlab.com/quidsup/notrack-blocklists/raw/master/notrack-malware.txt
  • https://v.firebog.net/hosts/Shalla-mal.txt
  • https://raw.githubusercontent.com/Spam404/lists/master/main-blacklist.txt
  • https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Risk/hosts
  • https://urlhaus.abuse.ch/downloads/hostfile/
  • https://zerodot1.gitlab.io/CoinBlockerLists/hosts_browser

Actualizar contenedor de docker con Portainer CE

Hace unos días instalé, según lo indica la documentación, la herramienta para Docker llamada Portainer. Se trata de un entorno web para gestionar Docker de una forma más “vistosa”, diría yo. El amigo Portainer viene, casualmente, en una imagen de Docker que podemos correr para facilitarnos la instalación.

Hasta ahí todo bien, pero hoy cuando lo abrí me encontré que había una actualización disponible y ahí fue cuando me di cuenta que no sabía cómo actualizarlo.

Siguiendo los consejos de Marcel Zuidwijk, un blogger holandés, pude hacerlo de forma sencilla y quise compartirlo con ustedes.

El procedimiento es bien sencillo, tenemos que:

  1. Descargar la última versión de la imagen de Portainer CE
  2. Parar y eliminar el contenedor de Portainer que teníamos funcionando
  3. Volver a correr el contenedor con las mismas opciones, incluyendo el volumen que habíamos montado al “instalarlo” la primera vez.

Traducido en comandos de docker sería así:

docker pull portainer/portainer-ce
docker stop portainer && docker rm portainer
docker run -d -p 8000:8000 -p 9000:9000 –name=portainer –restart=unless-stopped –privileged -v “/var/run/docker.sock:/var/run/docker.sock” -v portainer_data:/data portainer/portainer-ce

¡Listo! Ya podemos entrar a localhost:9000 usando las mismas credenciales que teníamos anteriormente.

Bpytop – Un top fácil de entender ¡y lindo!

Todos seguramente conocen la herramienta de monitoreo top, la cual es una gran ayuda cuando tenemos que depurar un problema con algún proceso que consume demasiados recurso en gnu/linux y su hermano mayor htop, el cual mejora bastante la interfaz del primero, haciéndolo más configurable y entendible, sobre todo para los administradores de sistemas que recién comienzan.

Pero encontré un monitor muchísimo más sencillo, configurable y además lindo de ver: bpytop. Su interfaz sencilla es lo que más me impresionó, pero además cuenta con varias configuraciones que ayudan a ver los procesos y uso de recursos “a primera vista” sin tener que estar recordando mucha cantidad de acrónimos como con top.

Captura de pantalla de bpytop

Lo malo de esta herramienta es que no se encuentra en el gestor de paquetes del asesinado por RedHat CentOS 7. De todas forma su instalación es muy sencilla, solo hay que ejecutar los siguientes comandos:

sudo yum install python3-pip -y && sudo pip3 install pip --upgrade pip && sudo pip3 install bpytop

Luego solo hay que ejecutarlo usando el comando, obviamente, bpytop

 

F*ck nvidia & F*ck manjaro!

Linux Torvals coursing nVidia

Tal como dijo el Jefe.

En un anuncio oficial de manjaro linux hace unos días, se hizo saber a todos los indeseables que utilizamos una tarjeta de video nVidia vieja como la mía, que nos íbamos a joder porque manjaro no solo no iba a proporcionar los controladores para los kernels mayores al 5.7 ¡sino que los iba a retirar de los repositorios!

Estaba posponiendo la solución para esto lo más posible, no actualizando el kernel (estaba usando el 5.7) pero también, por alguna razón que desconozco, ya éste no estaba soportado y el último habilitado con drivers para mi vieja placa era el 5.4… pero bueno, esto es otro tema. La cosa es que tuve que realizar la instalación manual, cuando para probar, desinstalé los controladores para los kernels anteriores.

Si bien la solución está clara en el anuncio del foro de manjaro, uno siempre busca una forma más sencilla para resolverlo que estar descargando las fuentes directo de los repositorios e instalando todo de forma manual. Pero lamentablemente, no le encontré otra vuelta. La cosa es sencilla y paso a transcribir la solución de manjaro:

sudo pacman -S git base-devel
sudo pacman -S $(mhwd-kernel -li | grep '*' | cut -d ' ' -f5 | awk '{print $0,"-headers"}' | sed s'/ //'g)
git clone https://gitlab.manjaro.org/packages/extra/nvidia-340xx-utils.git
git clone https://gitlab.manjaro.org/packages/multilib/lib32-nvidia-340xx-utils.git
git clone https://github.com/philmmanjaro/nvidia-340xx-dkms.git
cd nvidia-340xx-utils && makepkg -si
cd ../lib32-nvidia-340xx-utils && makepkg -si
cd ../nvidia-340xx-dkms && makepkg -si

Hago un par de puntualizaciones a los comandos anteriores, para aquellos que como yo, se quedaron sin escritorio y solo tienen un gran monitor negro con letras grandes y pixeladas:

  • El paquete base-devel lo vas a tener instalado, seguramente, porque lo has usado al descargar desde AUR con yay.
  • La segunda línea lo que hace es extraer el nombre de los headers del kernel, por ejemplo
    linux510-headers, si ya sabés para qué versión del kernel vas a instalar el driver, no te gastes en copiar a mano la línea y solo hacé sudo pacman -S linux510-headers
  • El resto de las líneas no te las puedo resumir. Lamento.

Después de esto, hacemos un hermoso <reboot y tendremos manjaro nuevamente con entorno gráfico.

Conectarse a una VPN L2TP con IPSec en Linux (manjaro/arch)

Hoy necesitaba conectarme a un servidor remoto al cual necesitaba acceder mediante una VPN usando L2TP con IPSec. De forma predeterminada Network Manager no tiene esta opción disponible cuando queremos agregar una conexión de red, por lo menos en Manjaro Cinnamon.

Luego de googlear bastante encontré la solución completa para hacer que esta conexión funcionara. Espero que esto le ahorre este tiempo a alguien más.

Es necesario instalar un par de paquetes:

yay -S networkmanager-strongswan networkmanager-l2tp

Después de tener estos paquetes instalados, ya podemos configurar la VPN desde la interfaz gráfica de Network Manager, que seguramente se encuentra en la bandeja del sistema (cerca del reloj) con un ícono similar a un enchufe y seleccionamos Network Settings (o Ajustes de red):

 

Luego vamos al signo de + y elegimos la opción Layer 2 Tunneling Protocol (L2TP).

A continuación ingresamos las información de la conexión: le damos un nombre identificatorio a la VPN, colocamos la dirección o gateway, las credenciales (nombre de usuario y la contraseña) y por último, para configurar IPSec presionamos el botón IPSec Settings (o Ajustes IPSec):

Habilitamos la casilla de verificación Enable IPsec tunnel to L2TP host (habilitar tunel IPsec al anfitrión L2TP) e ingresamos la preshared key (o clave previamente compartida).

Listo. Luego, cuando activemos la conexión, se modificará el ícono del Network Manager que pasará a tener un candadito y un tooltip que dirá Connected to the VPN (o Conectado a la VPN).

Actualizar automáticamente Powerlevel10k (como oh-my-zsh)

Quienes usan el excelente framework para la shell zsh Oh-my-zsh, saben que éste se actualiza automáticamente en el período determinado en su archivo de configuración. En mi caso, cada 7 días export UPDATE_ZSH_DAYS=7.

 

Captura de imagen de oh my zsh usando powerlevel10k

Oh my zsh con el tema powerlevel10k

 

El problema es que el tema que utilizo –Powerlevel10K– no se actualiza automáticamente. Para solucionar este inconveniente, agregué un pequeño código que puede servirles también a ustedes. Al final del archivo de configuración ~/.zshrc inserté el siguiente snippet:

 

# Updates p10k automatically
n=$(date '+%j');
if [ expr $n % $UPDATE_ZSH_DAYS -eq 0 ]
then
        git -C ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k pull
fi

 

Cómo hacer un tema hijo de WordPress

Child Theme en WordPress

Voy a describir brevemente y sin demasiada explicación los pasos que se deben seguir para crear un tema hijo de WordPress. ¿Para qué lo hago de forma esquemática? Porque en general me como algún paso al hacerlo y quería crear un ayuda-memoria para tenerlo a mano.

Espero que les sirva y, en caso de que quisieran profundizar en el tema, les recomiendo que miren en YouTube el curso de WordPress desde cero de Daniel Sánchez.

Esquema

Los pasos son:

    1. Abrir el directorio de los temas de WordPress, que se encuentra en una ruta similar a la siguiente: /public_html/wp-content/themes/
    2. Crear un nuevo directorio con el nombre que se nos antoje, por ejemplo: awesome-tree-child
    3. Dentro de este directorio crear los archivos index.php y style.css.
    4. Copiar los comentarios del encabezado del archivo style.cssdel tema padre al mismo archivo del tema hijo.
    5. En dichos comentarios hay que agregar la opción Template: con el nombre del directorio del tema padre y luego de los comentarios también la importación de la URL del tema padre. Un ejemplo de este archivo podría ser el siguiente:
      /*
        Theme Name: awesome-tree-child
        Theme URI: http://themes.mauriciolopez.ml
        Description: Tema hijo personalizado del tema de WordPress Awesome Tree WordPress
        Author: Mauricio López Coria
        Author URI: https://mauriciolopez.dev/
        Version: 1.0
        Template: awesome-tree
        Text Domain: awesome-tree
        Domain Path: /languages
        
        License: GNU General Public License
        License URI: https://www.gnu.org/licenses/gpl-3.0.txt
      
        Tags: two-columns, custom-background, threaded-comments, translation-ready, custom-menu
      */
      
      @import url('../awesome-tree/style.css');
    6. Copiar el archivo index.phpdel tema padre en el mismo archivo del tema hijo.
    7. Opcionalmente, se puede crear también el archivo functions.php para agregar funcionalidad personalizada al tema hijo, pero esto no es imprescindible para que el tema hijo funcione.

Cambiar nombre de archivos recursivamente

Aunque es una tarea sencilla y hay múltiples métodos que se pueden usar, siempre que necesito renombrar de una gran cantidad de archivos tengo que recurrir a San Google para hacerlo. Por esto prefiero dejar este artículo como recordatorio para mi y para algún otro despistado como yo.

En general me pasa con archivos de imagen, como jpg. Las cámaras, celulares y otros generadores de imágenes se empeñan en utilizar mayúsculas para las extensiones de los archivos de fotos y, aunque debe ser un TOC ¡me molesta! Por eso, para hacer cambiar recursivamente todas las extensiones de .JPG a .jpg podemos usar:

for file in *.JPG; do mv "${file}" "${file/.JPG/.jpg}"; done

Del mismo modo, podemos cambiar una parte del nombre que queramos, por ejemplo si hubiésemos hecho una conversión de extensión bmp a jpg con la utilidad convertde ImageMagick con el comando:

find . -name "*.bmp" -type f -exec convert '{}' '{}'.jpg \;

nos habrán quedado archivos con nombres que incluyen ambas extensiones, algo como imagen.bmp.jpg. Para eliminar la cadena .bmp del nombre de todos los archivos afectados podemos ejecutar:

for file in *; do mv "${file}" "${file/.bmp/}"; done

 

Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.