Jest takie powiedzenie
"Prawdziwi twardziele nie robią backupów"
ja wolę twardzielem nie być i backup to jednak przydatna rzecz.
Źródło: memegenerator.net |
Jako, że na moim RPI coraz więcej kodu i to nie tylko ściąganego z internetu, lecz także "autorskiego" postanowiłem zająć się tym tematem.
Moje założenia:
* darmowa przestrzeń w internecie
* niezbyt skomplikowany sposób uploadu
* możliwość korzystania pod Raspbian
* małe zużycie zasobów
* małe zużycie zasobów
Wybór padł na Dropbox, który standardowo udostępnia 2GB, a jak się postaramy (niektóre kroki są naprawdę łatwe) nawet 18GB. Poza tym ma całkiem ciekawe możliwości.
Źródło: dropbox.com |
Mi 2GB zupełnie wystarczą, jako że chcę backupować jedynie pliki tekstowe (skrypty, konfiguracja itp.).
Namierzyłem fajny skrypt, który umożliwia pełną obsługę pod RPI (napisany jest w bashu):
http://www.andreafabrizi.it/?dropbox_uploader
Namierzyłem fajny skrypt, który umożliwia pełną obsługę pod RPI (napisany jest w bashu):
http://www.andreafabrizi.it/?dropbox_uploader
Ściągamy więc skrypt z repozytorium Andrei:
git clone https://github.com/andreafabrizi/Dropbox-Uploader.git ~/git_dropboxJa dodatkowo skopiowałem skrypt do /usr/bin, żeby uruchamiać go z dowolnego miejsca.
sudo cp ~/git_dropbox/dropbox_uploader.sh /usr/binMusimy się upewnić, że mamy zainstalowany pakiet curl:
sudo apt-get install curlUruchamiamy skrypt:
dropbox_uploader.shPrzy pierwszym uruchomieniu nastąpi rejestracja w dropboxie, więc postępujemy zgodnie z instrukcjami (linki tworzące zasoby Apps możemy uruchamiać na dowolnym komputerze).
Skrypt poleci nam np. wejść na
https://www2.dropbox.com/developers/apps
gdzie należy stworzyć nową aplikację wg podanych informacji.
Mamy więc możliwość robienia backupów na Dropbox, bezpośrednio z konsoli.
Jakie są opcje skryptu:
# dropbox_uploader.sh Dropbox Uploader v0.11.3 Andrea Fabrizi - andrea.fabrizi@gmail.com Usage: /usr/bin/dropbox_uploader.sh COMMAND [PARAMETERS]... Commands: upload [LOCAL_FILE]Sprawdzamy statusdownload [REMOTE_FILE] delete [REMOTE_FILE] list info unlink For more info and examples, please see the README file.
# dropbox_uploader.sh info Dropbox Uploader v0.11.3 > Getting info... Name: RB PL UID: XXXXXXXX Email: email@example.com Quota: 2688 Mb Used: 0 Mb Free: 2687 MbTestowo backupujemy dowolny plik:
# dropbox_uploader.sh upload README > Uploading README to /README... ######################################################################## 100.0% > DONE
I sprawdzamy listę plików:
# dropbox_uploader.sh list > Listing "/"... DONE [F] READMEPo testach stworzyłem prościutki skrypt backupujący moje pliki, tą stronkę oraz etc
# cat /projekty/makeBackup.sh #!/bin/bash DATA=`date +%Y%m%d` PLIK_BKP="/tmp/$DATA.backup.tar.bz2" DIRS="/projekty /etc /blog_backup" /home/pi/blogspot_backup.sh sudo tar cjf $PLIK_BKP $DIRS dropbox_uploader.sh upload $PLIK_BKP if [ $? = 0 ] then rm -rf /blog_backup/* sudo rm -f $PLIK_BKP fiupewniłem się, że /etc/sudoers wygląda w porządku (tzn że komendę sudo możemy uruchomić bez pytania o hasło):
pi ALL=(ALL) NOPASSWD: ALLlub bardziej bezpieczne (listing dozwolonych komend), np.
pi ALL=(ALL) NOPASSWD: /sbin/halt, /sbin/reboot, /projekty/makeBackup.sh
i wrzuciłem do crona
Przy okazji wspomnę, że dzięki Dropbox możemy pracować niejako w (popularnej ostatnio) chmurze. Ma on klienta dla Windowsa, MACa, Linuxa więc tak naprawdę możemy utworzyć sobie zasoby, które będą dostępne gdziekolwiek się ruszymy.
11 22 * * * pi /projekty/makeBackup.shczyli codziennie o 22:11 robiony będzie backup mojego katalogu oraz /etc i będzie wysyłany na Dropbox.
Przy okazji wspomnę, że dzięki Dropbox możemy pracować niejako w (popularnej ostatnio) chmurze. Ma on klienta dla Windowsa, MACa, Linuxa więc tak naprawdę możemy utworzyć sobie zasoby, które będą dostępne gdziekolwiek się ruszymy.
Super wpis. Pozdrawiam
OdpowiedzUsuńPodoba mi się ten wpis
OdpowiedzUsuńPodoba mi się ten wpis
OdpowiedzUsuńTen wpis jest bardzo interesujący
OdpowiedzUsuńNiezwykle ciekawie opisane
OdpowiedzUsuńNiesamowicie wartościowy wpis. Super
OdpowiedzUsuńTakie podpowiedzi są bardzo cenne. Świetny wpis.
OdpowiedzUsuńDobrze jest to wszystko wiedzieć.
OdpowiedzUsuń