Advertisement
Guest User

Untitled

a guest
May 6th, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.29 KB | None | 0 0
  1.  
  2. # konfiguracja skryptu
  3. # KONFIGURACJA: to jest ten folder, ktoremu bedziemy robic backup
  4. FOLDER="folder_ktory_backupujemy/"
  5. # KONFIGURACJA: to sa namiary na FTPka
  6. # KONF: nazwa hostu FTP
  7. serw="st.pwsz.nysa.pl"
  8. # KONF: nazwa uzytkownika
  9. usr="s19983"
  10. # KONF: haslo
  11. has="lipowa"
  12. # 1 albo 0, w zaleznosci od tego czy chcemy wysylac po FTP
  13. czy_uzywac_ftp=1
  14. # 1 albo 0, w zaleznosci od tego czy chcemy wysylac po SMB
  15. czy_uzywac_smb=0
  16. # KONFIGURACJA SAMBY
  17. # wrzucamy na dudka!
  18. sciezka_SMB="//172.30.2.1/dudek"
  19. # haslo samby
  20. smbpass="pwsz"
  21. # uz. samba
  22. smbuser="pwsz"
  23.  
  24.  
  25. # wysyla skompresowane archiwum TAR tam gdzie chcemy
  26. # (w zaleznosci od opcji na FTPka lub SAMBE)
  27. # Wykorzystywane zarowno przez backup pelny jak i roznicowy
  28. function Archiwum_Wyslij()
  29. {
  30. echo "Wysylam archiwum..."
  31. if [ "$czy_uzywac_ftp" -eq "1" ] ; then
  32. Archiwum_Wyslij_FTP;
  33. fi
  34. if [ "$czy_uzywac_smb" -eq "1" ] ; then
  35. Archiwum_Wyslij_SMB;
  36. fi
  37. }
  38. function Archiwum_Wyslij_FTP()
  39. {
  40. echo "Wysylam archiwum na FTPka"
  41. # wrzucamy
  42. ftp -v -in <<EOF
  43. passive
  44. open $serw
  45. user $usr $has
  46. put $ARCHIWUM
  47. bye
  48. EOF
  49. echo "Zakonczylem wrzucanie na FTP";
  50. }
  51. function Archiwum_Wyslij_SMB()
  52. {
  53. echo "Wysylam archiwum na SMBka"
  54. # tak sie wrzuca na Here
  55. # smbclient //172.30.2.1/dudek -U pwsz%pwsz -c "put backup.tar"
  56. # wrzucamy
  57. smbclient $sciezka_SMB -U $smbuser%$smbpass -c "put $ARCHIWUM"
  58. echo "Zakonczylem wrzucanie na SMB";
  59. }
  60. function Backup_Rozpocznij()
  61. {
  62. TERAZ=$(date +"Y%YM%mD%dH%Hm%M")
  63. TERAZ2=$(date +"%Y%m%d%H%M")
  64. echo "Teraz jest $TERAZ"
  65. # folder tymczasowy - tam wrzucimy pliki, ktore potem skompresujemy
  66. DOCELOWY="Backup"$TERAZ
  67. DOCELOWY="${DOCELOWY// }"
  68. DOCELOWY="${DOCELOWY//:}"
  69. # nazwa archiwum jest taka jak folderu docelowego, ale ma rozszrzenie TAR
  70. ARCHIWUM=$DOCELOWY".tar"
  71. # tworz folder docelowy
  72. mkdir $DOCELOWY
  73. # popraw sciezke
  74. DOCELOWY=$DOCELOWY"/"
  75. echo "Docelowy folder to "$DOCELOWY
  76. }
  77. function Backup_Zakoncz()
  78. {
  79. # utworz archiwum z tymi plikami
  80. echo "TARUJE folder o nazwie $DOCELOWY"
  81. tar cvfz $ARCHIWUM $DOCELOWY
  82. # wyslij archiwum tam gdzie chcemy
  83. Archiwum_Wyslij;
  84. # czysc smieci
  85. rm -rf $DOCELOWY
  86. rm $ARCHIWUM
  87. }
  88. function Backup_Pelny()
  89. {
  90. Backup_Rozpocznij;
  91.  
  92. # zapisz date ostatniego pelnego backupu
  93. echo $TERAZ2 > "DataOstatniegoPelnegoBackupu.cfg"
  94. # znajdz wszystkie pliki z folderu zrodlowego (robimy backup pelny)
  95. find $FOLDER |
  96. while read FILE
  97. do
  98. # iteruj je i kopiuj
  99. echo "$FILE zostaje dodany do backupu"
  100. cp $FILE $DOCELOWY
  101. done
  102. Backup_Zakoncz;
  103. }
  104.  
  105. function Backup_Roznicowy()
  106. {
  107. Backup_Rozpocznij;
  108.  
  109. OSTATNI_PELNY=$(cat DataOstatniegoPelnegoBackupu.cfg)
  110. echo "Ostatni pelny backup odbyl sie $OSTATNI_PELNY"
  111. # utworz tymczasowy plik i nadaj mu date, do ktorej bedziemy porownywac
  112. touch -t $OSTATNI_PELNY /tmp/tymczasowyPlikDoPorownywaniaDaty.txt
  113. # znajdz tylko pliki ktore sie zmienily od czasu pelnego backupu
  114. find $FOLDER -newer /tmp/tymczasowyPlikDoPorownywaniaDaty.txt |
  115. while read FILE
  116. do
  117. # iteruj je i kopiuj
  118. echo "$FILE zostaje dodany do czesciowego backupu"
  119. cp $FILE $DOCELOWY
  120. done
  121. Backup_Zakoncz;
  122. }
  123. function PokazDateOstatniegoPelnego()
  124. {
  125. OSTATNI_PELNY=$(cat DataOstatniegoPelnegoBackupu.cfg)
  126.  
  127. dialog --msgbox "Ostatni pelny backup= [$OSTATNI_PELNY]" 10 30
  128.  
  129. }
  130.  
  131. function Menu_Glowne
  132. {
  133. 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)
  134. wybor=$?
  135. echo "Wybrana opcja to $WYBRANA"
  136.  
  137. case $wybor in
  138. 0)
  139.  
  140. case $WYBRANA in
  141. 1)
  142. Backup_Pelny;
  143. ;;
  144. 2)
  145. Backup_Roznicowy;
  146. ;;
  147. 3)
  148. PokazDateOstatniegoPelnego;
  149. ;;
  150. 4)
  151. dialog --msgbox "Opcja nieobslugiwana" 10 30
  152. ;;
  153. 5)
  154. dialog --msgbox "Opcja nieobslugiwana" 10 30
  155. ;;
  156. 6)
  157. dialog --msgbox "Opcja nieobslugiwana" 10 30
  158. ;;
  159. 7)
  160. dialog --msgbox "Opcja nieobslugiwana" 10 30
  161. ;;
  162. 8)
  163. dialog --msgbox "Opcja nieobslugiwana" 10 30
  164. ;;
  165. esac
  166.  
  167. ;;
  168. 1)
  169. dialog --msgbox "Dziekujemy za backupowanie!" 10 30
  170. ;;
  171. 255)
  172. dialog --msgbox "Dziekujemy za backupowanie!" 10 30
  173. ;;
  174. esac
  175.  
  176. }
  177.  
  178. # tu rozpoczyna sie skrypt
  179. Menu_Glowne;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement