Linux: Kopia zapasowa pendrive

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!

Comments

comments

Comments

Leave a Reply

You must be logged in to post a comment.