Skip to content

itsjwala/backupper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backupper

Command line tool to take phone's media backup to desktop wirelessly

HitCount

Gopher image Gopher image by Renee French, licensed under Creative Commons 3.0 Attributions license.


It works by having ftp server on the phone(es file explorer, solid explorer..) and setting up required configuration to start the backup. It has resuming download capabilities, It is fast and configurable.


Features

  • Quite Fast 🚀

  • Resumable & Incremental Download 📥

  • Very Configurable 🔧

Download

  • Please download platform specific binaries from here.

Build from source

  • Make sure you have Go installed and have in your path

  • fetch this repository

$ go get github.com/jigarWala/backupper
  • binary available in
$ $HOME/go/bin/backupper

Usage

  • Start FTP server on your phone

  • prepare configuration file for your usecase
Key Required Default Comments
server yes NA compulsory key
port yes NA compulsory key
username no anonymous "anonymous" is used for no username
password no anonymous "anonymous" is used for no password
include_dir no [ "/" ] / or the whole server directory is considered
exclude_dir no [ ] no directory is excluded
base_dir no check comments => backup is created in the directory where executable resides

sample json config file

{
"server":"192.168.0.102",
"port":"9999",
"include_dir":["Download","DCIM/Camera","Music","Movies","WhatsApp"],
"exclude_dir":["/Music/NewPipe","WhatsApp/Databases"],
"base_dir": "/home/jigar/Desktop/backups"
}
  • Execute the command
$ ./backupper path/to/configuration-file.json

Checklist

  • Can Resume Download from where it stopped?

  • Configurable Backups via json config file

  • Better Error handling

  • Better Logging

  • Concurrent Downloads

Why I made this?

I wanted to backup my screenshots, camera roll, music, whatsapp media etc to my local machine. Ofcourse there are adb configurable scripts available, But I wanted it to be wireless and also there are cloud backups available too like google drive. But it is quite slow as my internet speed is not so fast. I wanted to learn Golang :)

It is very fast and accessible for me and maybe others can find it useful too.

Contributing

Please reach out to me if you wish to contribute to this project.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT - see the LICENSE file for details