Linux: Kopia zapasowa pendrive - www.srebniak.pl
Linux: Kopia zapasowa pendrive
3 marca 2013
Categories: Linux
Ludzie dzielą się na tych co robią backup, i na tych, którzy co będą go robić.
Kopia zapasowa pendrive
Jeśli dużo pracujesz na danych trzymanych na zewnętrznych nośnikach, takich jak pendrive to ważna jest częsta kopia zapasowa danych. Poniższy sposób wykorzystuje narzędzie rsync i przesyła tylko zmienione pliki, a więc może być używany również do przenoszenie dużej ilości danych. Dodatkowo w razie niepodłączenia pendrive zostaniemy poinformowani niepowodzeniu.

Skrypt do poprawnego działania potrzebuje narzędzi: rsync, notify-send oraz gedit. Ostatni można oczywiście zastąpić dowolnym edytorem tekstu lub po prostu zakomentować linię #23. Odpowiada ona za wyświetlanie wyjścia rsync.
Konfiguracja skryptu
Działanie skryptu oparte jest o UUID partycji. UUID partycji o nazwie Pendrive uzyskujemy w następujący sposób:
$ mount
/dev/sdb1 on /media/Pendrive […]
Nasz Pendrive to /dev/sdb1 więc szukamy go
$ ls -al /dev/disk/by-uuid/
[…]
lrwxrwxrwx 1 root root 10 mar 3 22:41 B34C-18DF -> ../../sdb1
Nasz UUID to B34C-18DF

Jeśli chcemy skopiować dane z CAŁEGO pendrive to zmienną
_SRC_DIR=./
ustawiamy na ./ . W przeciwnym wypadku wpisujemy nazwę folderu do skopiowania.

Na koniec pozostaje nam określenie ścieżki do kopii.
U mnie jest to
_DST_DIR=$HOME/kopia
Skrypt
#!/bin/bash

# tutaj wpisujemy nasz UUID
_PEN_UUID=B34C-18DF

# tutaj katalog do skopiowania
_SRC_DIR=wazne

# a tutaj sciezke docelowa dla kopii
_DST_DIR=$HOME/kopia/

# skrypt
_DEV_=`ls -al /dev/disk/by-uuid/ | grep $_PEN_UUID | awk '{ print $11}’`
_MNT_=`mount | grep ${_DEV_:6} | awk '{print $3}’`

if [ ${#_MNT_} -gt 0 ]; then
cd $_MNT_
mkdir -p $_DST_DIR
rsync -av ./$_SRC_DIR $_DST_DIR > $_DST_DIR/log.txt
echo "Aktualizacja wykonana w dniu: `date`" >> $_DST_DIR/log.txt
notify-send "Aktualizator" "Aktualizacja powiodła się!" -i desktop-effects
# zakomentuj ponizsza linie jesli nie chcesz aby otwieralo sie powiadomienie
gedit $_DST_DIR/log.txt
else
notify-send "Aktualizator" "Nie wykryto nośnika!" -i desktop-effects
fi
Skrót
Dodatkowo polecam utworzyć aktywator do naszego skryptu.
I pamiętajcie: backup nie zrobi się sam.

Jeśli macie zastrzeżenie co do skryptu lub czegoś nie rozumiecie – piszcie!
© 2021 Więcej informacji
o mnie