Newsgroup: it.comp.os.linux.iniziare
Titolo: tar + rsync + crontab

>>>>  
http://www.bb2002.it
 :)  <<<<<
........... [ al lavoro ] ...........

 alternativo a rsync
 
ftpcopy

 comando alternativo a rsync
 
Se la tua nesessità è fare l'upload di un solo file, direi 
che puoi.
Uno script non  interattivo che fa l'upload di un file in ftp lo trovi 
subito.
Configurare l'architettura per un scp via chiave rsa è anche quello 
semplice (sempre che tu abbia coimpleto controllo delle macchine 
interessate).
 
In ogni caso, la soluzione che ti consiglio è usare rsync over ssh (con 
chiave) sulla directory NON archiviata con tar. In modo da essere sicuro 
ed efficiente.
Se ti interessa conservare anche i vecchi backup, esiste una tecnica 
basata sugli hard link che tramite rsync riesce  fare backup completi ma 
incrementali.
Chiuedi se vuoi qualche indicazione in più.
 
 
 
 


 
Potrebbe essere che non trova il programma rsync sul NAS, prova ad aggiungere ai 
parametri: --rsync-path=<path_di_rsync_nel_nas>
A me succede a qualche aggiornamento del s.o. del NAS.
Poi per evitare di mettere la password accedo mediante coppia di chiavi dando prima  il 
comando:
	ssh-add <chiave_privata>
mettendo prima nel NAS la chiave pubblica.
 
angelo


 
è monodirezionale, purtroppo nel senso inverso a quello che mi serve


 
 
sto cercando, leggendo e testando
 
una pagina tra le tante:
http://serverfault.com/questions/279176/ftp-uploading-in-bash-script
 
 
i comandi dati una alla volta funzionano:
 
FTP
open 192.168.1.3
<qui metto l'utente e la password>
cd /Backup
cd /Odoo
put odoo.tgz
<qui comincia la copia... 1350010706 bytes sent in 117.72 secs (11199.3 
kB/s)>
close
bye
 
ma se provo a infilarli in uno script mi escono solo errori :(
 
ho provato così:
 
-----------------------------------------
#!/bin/bash
 
ftp_site=192.168.1.3
username=backup
passwd=******
file=odoo.tgz
path=/Backup/Odoo
 
ftp -in <<EOF
open $ftp_site
user $username $passwd
cd $path
put $file
close 
bye
EOF
echo $file uploaded to $path ! 
 
# Break, otherwise endless loop
break
done
-----------------------------------------
 
 
salvo test2.sh, chmod +x test2.sh per renderlo eseguibile, poi ./test2.sh
 
+bash: ./test2.sh: /bin/bash^M: bad interpreter: No such file or directory
 
ho cristonato un po', poi ho levato vari ^M (probabilmente di 
windowsiana origine) e ho anche tolto la prima barra nel path:
 
path=Backup/Odoo
 
funziona :)
 
copia il file, ci sono tre righe di errore alla fine dello script:
 
break: only meaningful in a 'for', 'while', or 'until' loop
syntax error near unexpected token 'done'
'done'
 
ho tolto la fuffa in fondo allo script (avendolo personalizzato leggermente  
probabilmente ho anche tolto qualcosa che non mi serviva e che imponeva il 
break) che adesso gira senza chiedere nè ai nè bai
 
adesso si tratta di crontab-bare il tutto :)
 
grazie per le dritte


 
 
ho crontabbato e questa mattina vedo che ha fatto il suo lavoro
 
prox miglioramento nello script, qualcosa tipo:
 
cancella odoo3.tgz
rinomina odoo2.tgz in odoo3.tgz
rinomina odoo1.tgz in odoo2.tgz
rinomina odoo.tgz in odoo1.tgz
 
prima della procedura collaudata


 è monodirezionale, purtroppo nel senso inverso a quello che mi serve
 
ftp-upload
 
:)

 alternativo a rsync
 
Olttre ai comandi che ti hanno citato, puoi usare il semplice lftpput per
trasferire il file 
 
Enrico

 ftp -in <<EOF
 
Usa lftp, che è più semplice da scriptare
 
Enrico

 prima della procedura collaudata
 
Mi sembra piu` veloce modificare nella procedura collaudata
file=odoo.tgz
salvando l'archivio ogni volta con un nome univoco, tipo:
file=odoo_$(date +%F).tgz
e cercare nella directory i file .tgz piu` vecchi di tot giorni e
cancellarli
find /percorsoarchivi/odoo_*.tgz -mtime +7 -exec rm {} \;
 


 
faccio la prova "per sapere i risultati al lunedì" (cit. i Gufi di 
Flaviano)
