[Linuxtrent] Re: rsync problema

  • From: Flavio Stanchina <flavio@xxxxxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Tue, 30 Nov 2010 16:56:33 +0100

On 30/11/2010 11:34,
Aimar Marco <marco.aimar@xxxxxxxxx> wrote:
Se lancio questo comando direttamente dalla shell tutto funziona
correttamente:
/usr/bin/rsync -avz  --delete -e "ssh -p 2299" root@IP_REMOTO:/dati/* /dati/

mentre se provo a fare uno script cosi
#!/bin/bash
cmd="/usr/bin/rsync -avz  --delete -e \"ssh -p 2299\"
root@IP_REMOTO:/dati/* /dati/"
$cmd

alla sua esecuzione mi ritorna questo errore
Unexpected remote arg: root@IP_REMOTO:/dati/*
rsync error: syntax or usage error (code 1) at main.c(1205) [sender=3.0.2]

Ho già provato a usare singoli/doppi apici, a togliere l'asterisco [...]

Non ho capito bene perché alla shell non piace quella riga (devo ammettere che le regole di quoting ogni tanto mi causano ancora mal di testa, nonostante tanti anni di "bashing") però usando RSYNC_RSH funziona di sicuro:

  #!/bin/bash
  export RSYNC_RSH='ssh -p 2299'
  cmd="/usr/bin/rsync -avz  --delete root@IP_REMOTO:/dati/* /dati/"
  $cmd

P.S. Mi associo alle critiche di Lele sull'uso di ps | grep per trovare un eventuale rsync in esecuzione; io risolverei usando un lockfile.

--
Ciao, Flavio
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: