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