martes, 12 de mayo de 2020

Copias de seguridad con AOMEI Backupper



Con la llegada de la última actualización de Windows 10 tenía claro que quería actualizar, pero pasando antes por un formateo, y según lo que decían los medios especializados, no me atrevía a hacerlo sin hacer un backup total del sistema. 

Estuve buscando alguna herramienta que me permitiera hacer una "imagen" del sistema, que me dejara restaurarla a través un USB autoarrancable y que fuera gratuita.

Y rápidamente llegué a la herramienta AOMEI Backupper, que cumple todo lo que yo buscaba (sólo te piden tu email).

Tienen la versión "free" para el hogar, y la versión "profesional" más orientada a las empresas, yo me quedé con la primera.

Es muy fácil de instalar y se apoya en asistentes para hacer todas las tareas que ofrece, por lo que es muy intuitivo y rápido. Además hace los backups "en caliente", así que puedes estar navegando tranquilamente mientras se genera la copia de seguridad.

Las opciones que ofrece son las siguientes (lo que necesitamos, ni más ni menos):


Si elegimos respaldar, las opciones se multiplican por dos:



Pero como se puede ver, siguen siendo operaciones que comprendemos.

Además nos deja generar un USB para realizar la tarea de respaldo, desde el menú "Herramientas" en la pantalla principal:



Yo seleccioné basado en Windows PE, y funcionó perfectamente.


En definitiva, que pasa a ser una de mis utilidades indispensables.

Si os interesa podéis acceder a su página desde este enlace: https://www.ubackup.com/download.html

sábado, 18 de abril de 2020

Algoritmia III: divide y vencerás



Briefing: En estos días de confinamiento, me cuesta mucho sentarme y escribir algo para Tecnificados, entre unas cosas y otras no tengo tiempo, y el poco que me sobra estoy demasiado cansado como para redactar un artículo. En un ratillo, he conseguido escribir este, que es bastante sencillote...

Continuamos los diversos tipos de algoritmos, vamos a hablar de los famosos "divide y vencerás", su idea se basa en descomponer un problema en varios problemas más pequeños, resolver estos, y combinar sus soluciones. Normalmente, la recursividad nos acompañará en este tipo de soluciones.

Estos algoritmos se utilizan muchísimo en Big Data.

Este es el enunciado del problema que vamos a resolver usando este tipo de algoritmo:

   En el programa de la Casa de Empeños, hace unos días llevaron una bolsa de monedas de plata. Rápidamente llamaron a un experto, y este dijo que había una moneda falsa, pero para tasarla necesitaba saber si pesaba más o menos que las auténticas. En la oficina, solo tienen una balanza de dos pesas, para poder comparar el peso de una o varias monedas. 

  Vamos a diseñar un algoritmo y a implementar su solución, utilizando Divide y Vencerás. 

La solución en esta URL: La solución en nuestro repositorio: https://github.com/tecnificados/algoritmos/tree/master/divide

(Imagen Principal generada con https://es.cooltext.com/)

domingo, 1 de marzo de 2020

Ubuntu en Android 2: ahora con JAVA


En el anterior post (https://www.tecnificados.com/2020/02/ubuntu-en-android.html) os comentaba que acaba de descrubrir el emulador "Termux", y todas las cosas que en teoría se podían hacer con él.

Esta semana he estado probándolo, y en este artículo os quiero comentar todo lo que he hecho y el resultado final de las pruebas.

Mi objetivo como os comenté, era poder lanzar tareas programadas, por lo que vendría fenomenal utilizar "cron". Misteriosamente no venía instalado en la imagen que estamos utilizando, pero nada que no se arregle con los comandos: apt install cron y service cron start (arrancamos el servicio).

Una vez hecho ya tenía preparado el "ejecutor" de mis tareas.

Para probarlo bien, necesitaba lanzar una tarea periódica que actualizara datos continuamente, así se me ocurrió utilizar el IBEX 35, programe un pequeño script sh en Linux que descarga el json, y lo subía al repositorio.

Para esto también me instalé "curl" (apt install curl) y "git" (apt install git).

Después de esto, solo necesitaba programar cron con el comando crontab -e.

Añadí esta línea:


1,30 8-18 * * 1-5       /root/termuxTest/ibex35.sh

Y con esta expresión conseguí que el script se ejecutara en el minuto 1 y 30 desde las 8 hasta las 18 de lunes a viernes.

Las pruebas fueron todo un éxito:


Pensar que todos estos commits los hacía mi móvil mientras yo estaba en otra cosa.

Algunos me habéis preguntado por la batería, la verdad es que sí he notado que me gasta un poco más, pero como mucho un 10%.

Os dejo aquí el código del script que utilicé, por si os pudiera servir de algo:

cd "$(dirname "$0")"
date=$(date '+%Y-%m-%d %H:%M:%S')
echo $date
git pull
curl 'urlDondeConseguirLosDatosEnJSON'  > ibex35.json
git add .
git commit -m "Datos actualizados $date"
git push

Una vez que verifiqué esto funcionaba, me instale JAVAapt install openjdk-11-jre

También me instalé maven: apt install maven

Y después cloné mi repositorio evaluador (https://github.com/tecnificados/evaluador), me generé el jar y con este pequeño script:


rm -f datosgobes.csv
wget http://ondemand2.redes.ondemand.flumotion.com/redes/ondemand2/Datosabiertos/datosgobes.csv
java -jar evaluador.jar

Ya consigo ejecutar mi evaluador de Portales de Datos Abiertos desde el móvil. Podéis verlo en este vídeo:


Como conclusión final: puedo ahorrarme el servidor que tenía pensando contratar. Para tareas que no requieren mucha CPU, mi móvil tiene la potencia necesaria para realizar este tipo de tareas.

martes, 18 de febrero de 2020

Ubuntu en Android


Llevaba unos cuantos días dándole vueltas para contratar un servidor on line. Lo necesito para lanzar procesos puntuales y de manera periódica. No necesito mucha CPU ni RAM, y aunque no lo necesito 24 horas encendido, no he encontrado ningún servicio que tenga estas características y que sea económico.

Pero pensando y pensando, se me ocurrió la idea de cargar los procesos en mi móvil (Android), y lanzarlos desde allí. Pero Android no viene con JAVA...

Me puse a buscar, y encontré un programa en la tienda de Google llamado "Termux" (https://play.google.com/store/apps/details?id=com.termux), que es un emulador de la consola de Linux.

Cuando leí la palabra "emulador" se me encendieron los ojos, y empecé a pensar, pues si es un emulador podré instalar JAVA (si, si se puede), y luego dije, si me instalo GIT y MAVEN no me para nadie (si, también se puede), después fui más allá y se me ocurrió instalar Ubuntu, porque claro, si lo tengo, en mi móvil habría una potencia  muy interesante. Pues sí, amigos también es posible.

Y ahora os voy a contar cómo hacerlo:

  1. Nos instalamos Termux como si fuera una aplicación más desde la tienda de Google (enlace de más arriba).
  2. Utilizando el gestor de paquetes de Termux nos instalamos "wget". Escribimos el comando: pkg install wget -y
  3. Ahora nos instalamos proot, para tener disponibles unas cuantas funcionalidades que necesitaremos más adelante. Comando: pkg install proot -y
  4. Ahora vamos a crear un directorio donde descargar Ubuntu: Comando: mkdir ubuntu
  5. Accedemos al directorio que acabamos de crear: cd ubuntu
  6. Ahora nos descargamos un script para instalar la versión de Ubuntu más reciente (se encuentra en el repositorio de Neo-Oli: https://github.com/Neo-Oli/termux-ubuntuComandowget https://raw.githubusercontent.com/Neo-Oli/termux-ubuntu/master/ubuntu.sh
  7. Ahora descargamos la imagen de Ubuntu a traves del script con Bash. Comandobash ./ubuntu.sh
  8. Y para terminar ejecutamos Ubuntu con el comando: bash ./start-ubuntu.sh
Y ya hemos acabado, todo esto solo hay que hacerlo una vez. En el futuro solo tendremos que iniciar Termux y ejecutar los pasos 5 y 8.



En la imagen podéis ver que la versión de Ubuntu que tengo es la 19.04 (Disco Dingo)

Próximamente probaré a lanzar un proceso "complejo" que requiera funcionalidades de Ubuntu y JAVA.

Os mantendré informados.