Newsgroup: it.comp.os.linux.iniziare
Titolo: rsnapshot verso server remoto tramite SSH

 
Salve a tutti :-)
 
Ho un Server WEB VPS (CentOS 6.9).
Il BackUP del server viene fatto regolarmente su un altro spazio.
 
Se questo server sto facendo anche altri lavori non legati al Web (es. 
ho impostato un archivio Git) e non riesco/posso includere  queste altre 
cartelle nel BackUp che fa in autonomia il Server.
 
Ho deciso quindi di usare "rsnapshot" usando come archivio un altro 
server (in realtà è un NAS QNAP che ho in ufficio).
 
 
Il problema è che rsnapshot non mi accetta come percorso di 
"snapshoot_root" i parametri SSD del NAS.
 
Seguendo varie guide posso fare il contrario, cio+ avviare rsnapshot dal 
NAS e prendermi i dati dal Server VPS.
 
Tutto OK... o quasi perché non mi prende i dati.
 
 
Come percorso locale del Nas ho usato questo
 
snapshoot_root	/share/MD0_DATA/VPS-BACKUP/
 
 
Il percorso remoto del NAS dovrei scriverlo così
backup	mio...@mioserver.com:/Git	VPS/
 
ma dato che la porta è differente (non è quella indircata) e che la key 
rsa per il login ssh senza password tra nas e vps sono differenti 
(dovrei provare a farle identiche), sono costretto ad usare questo 
parametro specificando ssh e le varie opzioni
 
 
backup	ssh mio...@mioserver.com:/Git -p 56722 -i id_rsa_vps	VPS/
 
La copia non funziona...
Preciso che la cartella Git (si la G è maiuscola) si trova nella home 
del mio utente... ho provato anche a mettere il percorso completo 
(/home/miouser/Git) ho provato a mettere "git" (in minuscolo rinominando 
la cartella) etc.
 
 
usando l'opzione "-V" ottengo tutte queste informazioni:
 
 
 
[~] # rsnapshot -V hourly
Setting locale to POSIX "C"
echo 7045 > /opt/var/run/rsnapshot.pid
/opt/bin/rm -rf /share/MD0_DATA/VPS-BACKUP/hourly.5/
mv /share/MD0_DATA/VPS-BACKUP/hourly.4/ \
     /share/MD0_DATA/VPS-BACKUP/hourly.5/
mv /share/MD0_DATA/VPS-BACKUP/hourly.3/ \
     /share/MD0_DATA/VPS-BACKUP/hourly.4/
mv /share/MD0_DATA/VPS-BACKUP/hourly.2/ \
     /share/MD0_DATA/VPS-BACKUP/hourly.3/
mv /share/MD0_DATA/VPS-BACKUP/hourly.1/ \
     /share/MD0_DATA/VPS-BACKUP/hourly.2/
mv /share/MD0_DATA/VPS-BACKUP/hourly.0/ \
     /share/MD0_DATA/VPS-BACKUP/hourly.1/
mkdir -m 0755 -p /share/MD0_DATA/VPS-BACKUP/hourly.0/
/opt/bin/rsync -av --delete --numeric-ids --relative --delete-excluded \
     --rsh=/opt/bin/ssh ssh mio...@mioserver.com:/Git -p 56722 -i \
     /root/.ssh/id_rsa_vps /share/MD0_DATA/VPS-BACKUP/hourly.0/Git/
Unexpected remote arg: mio...@mioserver.com:/Git
rsync error: syntax or usage error (code 1) at main.c(1214) [sender=3.0.9]
----------------------------------------------------------------------------
rsnapshot encountered an error! The program was invoked with these options:
/opt/bin/rsnapshot -V hourly
----------------------------------------------------------------------------
ERROR: /opt/bin/rsync syntax or usage error. Does this version of rsync 
support --link-dest?
touch /share/MD0_DATA/VPS-BACKUP/hourly.0/
rm -f /opt/var/run/rsnapshot.pid
 
 
 
Se tolgo l'opzione ssh nella riga di "backup" non accetta la porta  (-p)
 
 
 
 
Qualche suggerimento?
Ringrazio Anticipatamente per le risposte :-)
 
 
 
 
 
 
-- 
Daniele Pinna  (leva oops. per rispondere)
Utente Skype: dapinna
Sito Web: 
http://www.dapinna.com
 
Il Docfa in Pillole:  
http://www.ildocfainpillole.it
 
DAPINNA.COM
 su Facebook: 
https://www.facebook.com/dapinnadotcom
 
Blog - Storie di un Laboratorio di Informatica: 
http://storielaboratorioinformatica.wordpress.com
 
-----
*** Powered by Linux KUbuntu 16.04.1 LTS (Xenial Xerus) ***

 /root/.ssh/id_rsa_vps /share/MD0_DATA/VPS-BACKUP/hourly.0/Git/
 
Non sara' un banale errore di sintassi? Io uso un comando analogo e al 
tuo posto il comando lo darei cosi':
 
/opt/bin/rsync -av --delete --numeric-ids --relative --delete-excluded \
-e 'ssh -p 56722 -i /root/.ssh/id_rsa_vps' mio...@mioserver.com:/Git \
/share/MD0_DATA/VPS-BACKUP/hourly.0/Git/
 
mettendo tutti i parametri prima delle directory sorgente/destinazione.
 
angelo


Fra le tante prove fatte non ho mai provato a mettere i parametri prima...
Ora provo :-)
 
 
Vedo che c'è anche un altro parametro che io non ho quel "-e"
Sai a cosa serve?
 
 
 
 
 
-- 
Daniele Pinna  (leva oops. per rispondere)
Utente Skype: dapinna
Sito Web: 
http://www.dapinna.com
	<-- Nuovo Sito... ora in Joomla
Il Docfa in Pillole:  
http://www.ildocfainpillole.it
 
DAPINNA.COM
 su Facebook: 
https://www.facebook.com/dapinnadotcom
 
BLOG: 
http://storielaboratorioinformatica.wordpress.com
 

 Ora provo :-)
 
 
Continuo ad avere quell'errore:
 
Unexpected remote arg: mio...@mioserver.com:/Git
 
Ho tolto anche l'opzione "ssh" perché tanto la riconosce lo stesso anche 
senza


 senza
 
Sono riuscito a semplificare un po' le cose usando la stessa "key rsa" 
per Server e NAS, quindi da uno mi collego all'altro senza inserire 
password (e posso eliminare il parametro "-i" etc)
 
 
Ho provato a fare l'operazione contraria, cioè dal Server VPS vado a 
fare uno rsnapshot di una cartella del NAS.
 
Stessi parametri (a parte ovviamente 
mio...@mioserver.com
) e risultati 
differenti... con errori differenti.
Ad esempio SSH cerca di collegarsi alla porta 22 invece di quella 
indicata quindi va in timeout.
Ma se uso SSH direttamente funziona senza problemi.
 
Aggiungo che sul NAS la versione di rsnapshot è la 1.3.1, mentre sul 
server VPS è la 1.4.2
 
 
 
[myuser@158171 ~]$ sudo rsnapshot -V weekly
[sudo] password for myuser:
Setting locale to POSIX "C"
echo 1075 > /var/run/rsnapshot.pid
/bin/rm -rf /TestBK/weekly.3/
mv /TestBK/weekly.2/ /TestBK/weekly.3/
mv /TestBK/weekly.1/ /TestBK/weekly.2/
native_cp_al("/TestBK/weekly.0", "/TestBK/weekly.1")
/usr/bin/rsync -av --delete --numeric-ids /TestBK/weekly.0/ \
     /TestBK/weekly.1/
sending incremental file list
 
sent 26 bytes  received 12 bytes  76.00 bytes/sec
total size is 0  speedup is 0.00
/usr/bin/rsync -av --delete --numeric-ids --relative --delete-excluded \
     --rsh=/usr/bin/ssh nas...@mionas.myqnapcloud.com:/prova -p 56722 \
     /TestBK/weekly.0/provaNAS/
ssh: connect to host 
mionas.myqnapcloud.com
 port 22: Connection timed out
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: unexplained error (code 255) at io.c(600) [receiver=3.0.6]
----------------------------------------------------------------------------
rsnapshot encountered an error! The program was invoked with these options:
/usr/bin/rsnapshot -V weekly
----------------------------------------------------------------------------
ERROR: /usr/bin/rsync returned 255 while processing 
nas...@mionas.myqnapcloud.com:/prova -p 56722
/usr/bin/logger -p user.err -t rsnapshot[1075] /usr/bin/rsnapshot -V \
     weekly: ERROR: /usr/bin/rsync returned 255 while processing \
     nas...@mionas.myqnapcloud.com:/prova -p 56722
touch /TestBK/weekly.0/
rm -f /var/run/rsnapshot.pid
/usr/bin/logger -p user.err -t rsnapshot[1075] /usr/bin/rsnapshot -V \
     weekly: ERROR: /usr/bin/rsnapshot -V weekly: completed, but with some \
     errors
 
 
P.S.
Qui -p 56722 è dopo i dati del server, ma ho fatto prove anche 
mettendolo prima... non cambia


 Sai a cosa serve?
 
E' solo l'equivalente del tuo "--rsh=" che io utilizzo nel mio script.
 
angelo
 

 senza
 
Non ho idea, posso solo riportare qui sotto un estratto del mio script, 
spero ti possa essere utile:
 
# opzioni:
OPT="-avlht --delete --backup --backup-dir=delta/<data_e_ora> \
-e ssh -p 25022 -i /home/<user>/keys/<chiave_ssh>"
#sorgente:
SRC="/home/<user>"
#destinazione:
DST="root@<URL_nas-remoto>:/volume1/backup/<user>"
#comando:
rsync $OPT $SRC $DST
 
angelo

 rsync $OPT $SRC $DST
 
 
Ma quindi tu usi direttamente rsync?
Cmq domani vedo meglio il tuo script
 
Grazie :-)
 
 
 
 
-- 
Daniele Pinna  (leva oops. per rispondere)
Utente Skype: dapinna
Sito Web: 
http://www.dapinna.com
 
Il Docfa in Pillole:  
http://www.ildocfainpillole.it
 
DAPINNA.COM
 su Facebook: 
https://www.facebook.com/dapinnadotcom
 


 Grazie :-)
 
Si', uso direttamente rsync in due script, uno per il backup sul nas 
locale direttamente senza ssh e il secondo script per il backup 
giornaliero automatico del nas locale sul remoto mediante ssh.
Qui sotto i due link agli script:
 
https://www.dropbox.com/s/c01707p5ced45hn/backup.sh?dl=0
 
https://www.dropbox.com/s/w28ue3nyq21dd9g/rembackup.sh?dl=0
 
 
Guardando il tuo script mi viene il dubbio che non sia consentito 
l'accesso ssh ad <user> ma solo a root.
Se con il comando:
	grep "miouser" /etc/passwd
l'ultimo campo e' differente da quello del comando:
	grep "root" /etc/passwd
puoi usare solo l'utente root con rsync via ssh.
 
angelo
 
 

 
 
 
Dunque sul VPS ho questo
 
grep miouser /etc/passwd
miouser:x:10002:10002::/home/miouser:/bin/bash
 
 
grep "root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
 
 
 
 
 
-- 
Daniele Pinna  (leva oops. per rispondere)
Utente Skype: dapinna
Sito Web: 
http://www.dapinna.com
	<-- Nuovo Sito... ora in Joomla
Il Docfa in Pillole:  
http://www.ildocfainpillole.it
 
DAPINNA.COM
 su Facebook: 
https://www.facebook.com/dapinnadotcom
 
BLOG: 
http://storielaboratorioinformatica.wordpress.com
 

 ssh: connect to host 
mionas.myqnapcloud.com
 port 22: Connection timed out
 
Si aspetta una connessione alla porta standard 22 mentre quella corretta 
e' 56722.
Io proverei a riscriverlo cosi' (ipotizzando che 
"/TestBK/weekly.0/provaNAS" sia la sorgente e 
"nas...@mionas.myqnapcloud.com:/prova" la destinazione):
 
/usr/bin/rsync -av --delete --numeric-ids --relative --delete-excluded \
--rsh=/usr/bin/ssh -p 56722 /TestBK/weekly.0/provaNAS \ 
nas...@mionas.myqnapcloud.com:/prova
 
lanciandolo da solo senza rsnapshot, giusto per verificare che la 
sintassi per rsync sia corretta.
 
angelo


Ho potuto fare delle prove solo oggi...
Ho fatto vari test usando direttamente rsync, e il messaggio non cambia:
 
expected remote arg:  mio...@mioserver.com:/tools
rsync error: syntax or usage error (code 1) at main.c(1214) [sender=3.0.9]
 
 
Ho verificato che tools e sottocartelle sia accessibile a miouser.
Ho provato anche a mettere nomi di cartelle inesistenti... non cambia.
 
 
Ho notato che da l'errore della porta 22 (anche se specificata quella 
corrett) quando non inserisco il parametro di destinazione.
 
 
Sto pensando che la versione rsync presente sul NAS sia limitata o 
difettosa.
 
 
# rsync --version
rsync  version 3.0.7  protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: 
http://rsync.samba.org/
 
Capabilities:
     64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
     no socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
     append, ACLs, xattrs, iconv, no symtimes
 
rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.
 
 
 
Vedo che nel sito ufficiale
https://rsync.samba.org/
 
  è disponibile la 3.1.3 ma non so è è pienamente compatibile con il NAS.
(e cmq mi sembra che sia da compilare)
 
 
Provo ad aprire un Tread sul forum del NAS (
qnapclub.it
)
 
 
 
Ti ringrazio cmq per l'aiuto :-)
 
 
 
 
-- 
Daniele Pinna  (leva oops. per rispondere)
Utente Skype: dapinna
Sito Web: 
http://www.dapinna.com
 
Il Docfa in Pillole:  
http://www.ildocfainpillole.it
 
DAPINNA.COM
 su Facebook: 
https://www.facebook.com/dapinnadotcom
 


 Ti ringrazio cmq per l'aiuto :-)
 
Prego, puoi provare ad aumentare il livello di verbosita' modificando il 
comando in:
 
/usr/bin/rsync -a -vvv --delete --numeric-ids --relative ecc.
 
angelo

 Ho fatto vari test usando direttamente rsync, e il messaggio non cambia:
 
Un'altra prova che puoi fare e' mettere tra parentesi l'opzione --rsh:
 
--rsh='/usr/bin/ssh nas...@mionas.myqnapcloud.com:/prova -p 56722'
 
angelo