Synchronizacja archiwów z dyskiem sieciowym SMB

Synchronizacja archiwów z dyskiem sieciowym SMB

Przypadek

W sieci lokalnej znajduje się urządzenie lub serwer udostępniający zasób SMB dla celów składowania kopii.

Przygotowanie środowiska

W serwerze musi być zainstalowane polecenie mount.cifs, przydatne będzie także polecenie smbclient do ręcznego łączenia się z udostępnionym zasobem.

sudo apt-get install cifs-utils smbclient

Do połączenia będziemy potrzebować:

  • Adres IP maszyny (np. 192.168.1.100)

  • Nazwa zasobu sieciowego (np. Archiwum)

  • Nazwa użytkownika i hasło (np. biblioteka / 123abc)

Skrypt

Skrypt event.on_before_burn_dvd
#!/bin/bash # Utwórz katalog montowania, jeśli nie istnieje mkdir -p /mnt/smb_backup # Zamontuj udział SMB mount -t cifs -o user=biblioteka,pass=123abc,noexec //192.168.1.100/Archiwum /mnt/smb_backup # Sprawdź, czy montowanie się powiodło if mountpoint -q /mnt/smb_backup; then # Jeśli tak, wykonaj synchronizację echo "Mount successful, starting rsync..." rsync -rLt /home/sowa/.sowang/var/backup/00_arch /mnt/smb_backup/ else # Jeśli nie, zakomunikuj błąd echo "Mount failed. Exiting script." fi # Odmontuj udział SMB umount /mnt_backup

Weryfikacja

Można połączyć się z zasobem i sprawdzić jego zawartość.

smbclient -U biblioteka //192.168.1.100/Archiwum