Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # konfiguracja skryptu
- # KONFIGURACJA: to jest ten folder, ktoremu bedziemy robic backup
- FOLDER="folder_ktory_backupujemy/"
- # KONFIGURACJA: to sa namiary na FTPka
- # KONF: nazwa hostu FTP
- serw="st.pwsz.nysa.pl"
- # KONF: nazwa uzytkownika
- usr="s19983"
- # KONF: haslo
- has="lipowa"
- # 1 albo 0, w zaleznosci od tego czy chcemy wysylac po FTP
- czy_uzywac_ftp=1
- # 1 albo 0, w zaleznosci od tego czy chcemy wysylac po SMB
- czy_uzywac_smb=0
- # KONFIGURACJA SAMBY
- # wrzucamy na dudka!
- sciezka_SMB="//172.30.2.1/dudek"
- # haslo samby
- smbpass="pwsz"
- # uz. samba
- smbuser="pwsz"
- # wysyla skompresowane archiwum TAR tam gdzie chcemy
- # (w zaleznosci od opcji na FTPka lub SAMBE)
- # Wykorzystywane zarowno przez backup pelny jak i roznicowy
- function Archiwum_Wyslij()
- {
- echo "Wysylam archiwum..."
- if [ "$czy_uzywac_ftp" -eq "1" ] ; then
- Archiwum_Wyslij_FTP;
- fi
- if [ "$czy_uzywac_smb" -eq "1" ] ; then
- Archiwum_Wyslij_SMB;
- fi
- }
- function Archiwum_Wyslij_FTP()
- {
- echo "Wysylam archiwum na FTPka"
- # wrzucamy
- ftp -v -in <<EOF
- passive
- open $serw
- user $usr $has
- put $ARCHIWUM
- bye
- EOF
- echo "Zakonczylem wrzucanie na FTP";
- }
- function Archiwum_Wyslij_SMB()
- {
- echo "Wysylam archiwum na SMBka"
- # tak sie wrzuca na Here
- # smbclient //172.30.2.1/dudek -U pwsz%pwsz -c "put backup.tar"
- # wrzucamy
- smbclient $sciezka_SMB -U $smbuser%$smbpass -c "put $ARCHIWUM"
- echo "Zakonczylem wrzucanie na SMB";
- }
- function Backup_Rozpocznij()
- {
- TERAZ=$(date +"Y%YM%mD%dH%Hm%M")
- TERAZ2=$(date +"%Y%m%d%H%M")
- echo "Teraz jest $TERAZ"
- # folder tymczasowy - tam wrzucimy pliki, ktore potem skompresujemy
- DOCELOWY="Backup"$TERAZ
- DOCELOWY="${DOCELOWY// }"
- DOCELOWY="${DOCELOWY//:}"
- # nazwa archiwum jest taka jak folderu docelowego, ale ma rozszrzenie TAR
- ARCHIWUM=$DOCELOWY".tar"
- # tworz folder docelowy
- mkdir $DOCELOWY
- # popraw sciezke
- DOCELOWY=$DOCELOWY"/"
- echo "Docelowy folder to "$DOCELOWY
- }
- function Backup_Zakoncz()
- {
- # utworz archiwum z tymi plikami
- echo "TARUJE folder o nazwie $DOCELOWY"
- tar cvfz $ARCHIWUM $DOCELOWY
- # wyslij archiwum tam gdzie chcemy
- Archiwum_Wyslij;
- # czysc smieci
- rm -rf $DOCELOWY
- rm $ARCHIWUM
- }
- function Backup_Pelny()
- {
- Backup_Rozpocznij;
- # zapisz date ostatniego pelnego backupu
- echo $TERAZ2 > "DataOstatniegoPelnegoBackupu.cfg"
- # znajdz wszystkie pliki z folderu zrodlowego (robimy backup pelny)
- find $FOLDER |
- while read FILE
- do
- # iteruj je i kopiuj
- echo "$FILE zostaje dodany do backupu"
- cp $FILE $DOCELOWY
- done
- Backup_Zakoncz;
- }
- function Backup_Roznicowy()
- {
- Backup_Rozpocznij;
- OSTATNI_PELNY=$(cat DataOstatniegoPelnegoBackupu.cfg)
- echo "Ostatni pelny backup odbyl sie $OSTATNI_PELNY"
- # utworz tymczasowy plik i nadaj mu date, do ktorej bedziemy porownywac
- touch -t $OSTATNI_PELNY /tmp/tymczasowyPlikDoPorownywaniaDaty.txt
- # znajdz tylko pliki ktore sie zmienily od czasu pelnego backupu
- find $FOLDER -newer /tmp/tymczasowyPlikDoPorownywaniaDaty.txt |
- while read FILE
- do
- # iteruj je i kopiuj
- echo "$FILE zostaje dodany do czesciowego backupu"
- cp $FILE $DOCELOWY
- done
- Backup_Zakoncz;
- }
- function PokazDateOstatniegoPelnego()
- {
- OSTATNI_PELNY=$(cat DataOstatniegoPelnegoBackupu.cfg)
- dialog --msgbox "Ostatni pelny backup= [$OSTATNI_PELNY]" 10 30
- }
- function Menu_Glowne
- {
- WYBRANA=$(dialog --menu "Co chcesz zrobic?" 18 45 8 1 "Dokonac backupu pelnego " 2 "Dokonac backupu roznicowy" 3 "Sprawdzic date ostatniego pelnego backupu" 4 "???" 5 "???" 6 "???" 7 "???" 8 "???" 3>&2 2>&1 1>&3)
- wybor=$?
- echo "Wybrana opcja to $WYBRANA"
- case $wybor in
- 0)
- case $WYBRANA in
- 1)
- Backup_Pelny;
- ;;
- 2)
- Backup_Roznicowy;
- ;;
- 3)
- PokazDateOstatniegoPelnego;
- ;;
- 4)
- dialog --msgbox "Opcja nieobslugiwana" 10 30
- ;;
- 5)
- dialog --msgbox "Opcja nieobslugiwana" 10 30
- ;;
- 6)
- dialog --msgbox "Opcja nieobslugiwana" 10 30
- ;;
- 7)
- dialog --msgbox "Opcja nieobslugiwana" 10 30
- ;;
- 8)
- dialog --msgbox "Opcja nieobslugiwana" 10 30
- ;;
- esac
- ;;
- 1)
- dialog --msgbox "Dziekujemy za backupowanie!" 10 30
- ;;
- 255)
- dialog --msgbox "Dziekujemy za backupowanie!" 10 30
- ;;
- esac
- }
- # tu rozpoczyna sie skrypt
- Menu_Glowne;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement