Android rsync App
Cactus Rsync App
Einrichten der Cactus Rsync App
Vor der ersten Benutzung der Cactus Rsync App müssen gewisse Einstellungen vorgenommen werden.
Screenshot: Einstellungen des Apps
Local syncfolder: Der Ordner auf dem Speicher des Android Gerätes (SD oder intern) in den alle Dateien synchronisiert werden sollen. Dieser darf NICHT schon exestieren !
Server syncfolder: Der Ordner auf dem Server der synchronisiert werden soll. Dieser muss beim ersten Einrichten schon vorhanden sein !
Username: Der Username der zum einloggen per SSH benötigt wird.
Server IP: Die IP des Servers mit dem Synchronisiert wird.
SSH key path: Der Pfad des ssh dropbear keys relativ zu der SD oder dem internen Speicher des Geräts.
Einrichten des Servers
Zur Benutztung der App mit einem Server, benötigt dieser Server einen laufenden SSH-Server und rsync.
Einrichten von SSH auf Ubuntu Installieren von Rsync
sudo apt-get install rsync
Die App verwendet einen dropbear SSH key, bei Nutzung von openssh muss der key entsprechend umgewandelt werden
sudo apt-get install dropbear dropbearconvert openssh dropbear openssh.key dropbear.key
und dann auf den internen Speicher des Gerätes kopiert werden. In den Einstellungen muss dann der Pfad eingegeben werden.
Ablauf der App
Die Synchronisierung per rsync verläuft in 4 Schritten:
Die genaue Funktion der hier benutzten rsync-Befehle können in der rsync Dokumentation nachgelesen werden.
1.) Löscht die auf dem Client gelöschten Dateinen ebenfalls auf dem Server.
rsync -rvlz --stats --progress --existing --ignore-existing --delete --include-from=FILE_TO_DELETE_LIST --exclude=*\ -e "ssh -i SSH_KEY -y" SYNC_DIR REMOTE_USER_IP:REMOTE_DIR
2.) Synchronisiert veränderte Dateien vom Client auf dem Server
rsync -rvtlz --stats --progress --checksum --update --ignore-non-existing\ -e "ssh -i SSH_KEY -y" SYNC_DIR REMOTE_USER_IP:REMOTE_DIR
3.) Synchronisiert neue, veränderte und gelöschte Dateien vom Server auf den Client
rsync -rvlz --stats --progress --checksum --update --delete\ -e "shh -i SSH_KEY -y" REMOTE_USER_IP:REMOTE_DIR
4.) Fügt neue Datein (vom Client) auf den Server hinzu
rsync -rvtlpz --stats --ignore-existing --progress --chmod=ug=rwx --chmod=o=rx\ -e "ssh -i SSH_KEY -y" NEW_FILES_LIST REMOTE_USER_IP:REMOTE_DIR
Das Log-Fenster von CactusRsync: