MarioDebian, mi devlog

Bitácora de un desarrollador newbie.

Mi primer app en android: RsyncDroid

Presento mi nueva aplicación (mejor no mirar el código) para android: RsyncDroid.

Es como si fuese un HolaMundo pero un poco más complejo, pero me ha servido para aprender un poco Java y sobre todo para ver su entorno de desarrollo basado en Eclipse. El debugger (ddms) es la leche y se puede estudiar muy bien lo que va haciendo nuestra aplicación mientras se ejecuta... me ha gustado.

Instalación

Lo primero es conseguir el binario de rsync, he preparado este script (necesita ser root del teléfono)

wget http://adqmisc.googlecode.com/svn/trunk/androidutils/rsync/rsync-3.0.6-arm-softfloat-linux-gnueabi.gz
zcat rsync-3.0.6-arm-softfloat-linux-gnueabi.gz > rsync

./adb push rsync /sdcard/rsyncdroid/rsync
./adb shell mount -o remount,rw /dev/block/mtdblock0 /system
./adb shell "cat /sdcard/rsyncdroid/rsync > /system/bin/rsync"
./adb shell chmod 755 /system/bin/rsync
./adb shell mount -o remount,ro /dev/block/mtdblock0 /system

Ahora instalaremos este apk: rsyncdroid.apk

./adb install -r ~/Desktop/rsyncdroid.apk
401 KB/s (18269 bytes in 0.044s)
    pkg: /data/local/tmp/rsyncdroid.apk
Success

Capturas de pantalla

El programa es muy sencillo, lo que hace es arrancar, parar y ver el estado del proceso rsync, si no existe la configuración usa una base en la que se comparte el contenido de la memoria SD. Es recomendable añadir algo como "hosts allow = xx.xx.xx.xx", para permitir el acceso sólo desde la IP que queramos (man rsyncd.conf).

La primera vez que lo ejecutemos nos pedirá el permiso de root (rsync se ejecuta en un puerto privilegiado).

Script para copia de datos

rsync -Pavz --no-g --no-p --no-numeric-ids \
    htcmagic::sdcard/ --delete /home/mario/htcmagic/backup/

Yo me he hecho un script un poco más complejo para (por la madrugada) hacer ping al teléfono y si está en la wifi de mi red hacer la copia incremental (creando enlaces duros) y borrando las copias de seguirdad que tengan más de 30 días.


Articulos relacionados:

Comentarios

Comentarios cerrados