View Single Post
Old 10-02-2016, 19:10   #127
DjLode
Senior Member
 
L'Avatar di DjLode
 
Iscritto dal: Oct 2000
Città: Reggio Emilia
Messaggi: 16697
Mi sa che nessuno ci sta mettendo le mani ancora
Però io continuo
Ho avuto qualche minuto per provare una cosa molto interessante: rsync.
Visto che non serve a niente avere mille dischi sullo stesso hardware, o almeno è poco sicuro, ho pensato di usare un vecchio WD My Cloud come destinazione per alcune copie dei dati più importanti, direttamente da Freenas (ma è identico direi anche in altri sistemi). Di fatto rsync è un sistema client/server dove il client fa push (invia) dei dati, ed il server li riceve (pull).
La cosa comoda è che si può fare rsync anche tramite SSH, di fatto ovunque in rete, anche su client/server distanti, basta che siano raggiungibili e che ssh ed rsync sia attivo su entrambi.
La cosa è molto semplice.
  1. Attivare rsync su WD My Cloud:

    Occorre modificare il file /etc/default/rsync per attivare il servizio: modificare quindi il valore RSYNC_ENABLE e metterlo a true (RSYNC_ENABLE=true) di default è false
  2. Creare il file di configurazione e avviare il servizio:

    Il file di configurazione standard è /etc/rsyncd.conf, inserire le righe come segue:

    Codice:
    pid file = /var/run/rsyncd.pid
    lock file = /var/run/rsync.lock
    log file = /var/log/rsync.log
    
    
    [rsync]
    path = /shares/rsync
    uid = root
    gid = share
    read only = no
    list = yes
    auth users = root
    secrets file = /etc/rsyncd.secrets
    Le configurazioni importanti sono sotto il tag [rsync], specialmente il path, la uid e la gid (utente e gruppo della directory di destinazione. Infine il file secrets, la formula è utente: password quindi andremo ad editarlo e scriveremo

    Codice:
    root:pass_di_root
    Eseguire quindi i comandi, in successione:

    Codice:
    chmod 600 rsyncd.secrets
    
    /etc/init.d/rsync restart
    Se al primo avvio si riceve un warning è tutto normale, non essendo avviato viene notificato che non si riesce a fermare in quanto non attivo. Ignoratelo.

    Si può decidere di metterlo in auto start all'avvio, andare quindi dentro alla directory /etc/rc2.d/ e digitare il seguente comando:

    Codice:
    ln -s ../init.d/rsync  S91rsync
  3. Generare le chiavi ssh:

    Occorre generare le chiavi SSH sul client (da me Freenas) e copiare quella pubblica sul server (WD My Cloud) così da non chiedere la password quando si lancia il comando rsync.

    Codice:
    ssh-keygen -t rsa -b 2048
    Rispondere alle domande che vengono fatte (anche premendo sempre invio e basta), le chiavi vengono generate dentro alla directory .ssh all'interno della home dell'utente (nel mio caso root): id_rsa ed id_rsa.pub. Quella che interessa è la .pub
  4. Copiare la chiave sul server:

    All'interno della /root (home user dell'utente root) del WD My Cloud non esiste la directory .ssh, crearla quindi con:

    Codice:
    mkdir ~/.ssh
    chmod 0700 ~/.ssh
    touch ~/.ssh/authorized_keys
    chmod 0644 ~/.ssh/authorized_keys
    Con questo comando si copia il contenuto della chiave pubblica dentro al file appena creato authorized_keys:

    Codice:
    cat /home/utente_usato/.ssh/id_rsa.pub | ssh utente_usato@remotehost 'cat >> .ssh/authorized_keys'
    Ora facendo SSH dal client al server la password non verrà più chiesta.
  5. Configurazione Freenas:

    Passiamo ora alla configurazione di Freenas. Usandolo come client che copia i dati verso il server, occorre concentrarsi sulla parte Tasks-->Rsync Tasks
    Creiamo quindi un nuovo task.
    • Path : Path locale
    • User : nell'esempio usato root
    • Remote Host : la destinazione (nome od ip, nella forma user@ip se l'utente è diverso da quanto impostato sopra
    • Rsync Mode : Rsync over SSH
    • Port : 22 (default), cambiare se diversa
    • Remote Path : Il path remoto dove salvare i file/directory

    Il resto impostarlo a piacere, io ho inserito minuti = 00, ore = 04 (quattro di notte), Ogni giorno (mettere 1 nella tab Each N day of month), Month tutto flaggato, Day of week tutto flaggato. Il resto in default.
    Se premendo OK non vi da errori, e non dovrebbe darne, siete a posto.
__________________
Twinkle, twinkle, little star how I wonder what you are.
DjLode è offline   Rispondi citando il messaggio o parte di esso