Unexpectedly, August turned out to be a very busy month for the Little Backup Box project. It all started with a user having a problem with the current implementation of the internal backup feature. When figuring out how to solve the problem, I ended up reimplementing the entire functionality altogether. Now the internal backup has its own button in the web UI, and you can select it to be the default mode during installation. The Samba and DLNA servers can now handle internal storage, so you can access and view the content transferred to the internal storage card.
As an experiment, I’ve added internationalization (i18n) support for the web UI, so you can use it in your own language (you have to translate it first, though). Speaking of the web UI, I also made slight improvements to its appearance. You’ll probably notice that all buttons have uniform width now.
Finally, I’m been experimenting with an inexpensive 128x32 OLED display, and I added support for it in Little Backup Box. You have the option of enabling OLED support during installation. If you choose to do that, the OLED display will show the machine’s IP address on boot.
That’s correct: the I2C bus. I improved the support over the weekend. Now the display provides somewhat more useful feedback (IP address, storage and card status, etc.). However, there is one tough nut I can’t crack on my own. I want the display to show the progress of the backup operation. But so far, this task proved to be beyond my limited coding skills.
It’s been a while since I checked the scripts. Do you use Rsync for the copying? If so you can either get the percentage of files dealt with (not necessarily transferred if they are the same) or you can use “pv” to calculate percentage if you count files first.
This could be parsed from the commandline and sent to the display.
I’ve added a merge request, it’s behind the master branch, so it may be easier to copy the relevant functionality (the rsync lines) in to the scripts.
It has an
oled-rsync-progress.sh
script which reads the output from the rsync command, formats it and outputs it to the oled. It requires a file called exclude.txt (I couldn’t work out how to make it work without one).
I ran it from a git clone rather than using your install script, so it may have had a sudo added in places that aren’t needed.
I also had to add a
chmod
call to the USB stick.
I added in a lot of debug info, which you may wish to remove.
Thank you so much for the pull request! I need a day or two to test it in the experimetal branch. I’ll let you know when I merge your improvements into the master branch.
Thinking about the oled call segfaulting. I’m wondering if it makes a call to the font files, which it can’t find. I didn’t run GDB to find out what call caused the segmentation fault.