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/" $cmdP.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