Newsgroup: it.comp.macintosh
Titolo: smbclient e Bash

Salve
In questi giorni sto tentando di realizzare uno script in bash per 
automatizzare la copia di alcuni file su un server remoto tramite samba.
In pratica i file si trovano sul mio Mac e io dovrei copiarli sul una 
macchina linux remota.
Ora il comando che uso per copiare i miei file sul server remoto e` il 
seguente:
smbclient //server_remoto/volume -D "backup" -c "lcd /cartellasorgente/; put 
filedacopiare" -A /etc/samba/smbmount.passwd
in pratica tramite smbclient gli dico di collegarsi al server remoto 
//server_remoto/volume andare sulla directory backup e quindi copiare il file 
filedacopiare che si trova sulla mia macchina, cioe` quella da qui lancio il 
comando, nella directory /cartellasorgente/
La ragione per cui uso smbclinet invece che montare il volume con smbmount e` 
che la macchina remota non sempre e` accessibile, e lo stesso per la macchina 
da qui devo copiare i file, quindi dovrei ogni volta montare il volume e poi 
smontarlo, alla fine mi e` risultato piu` pratico fare cosi.
In oltre l'amministratore dell'altra macchina non vuole giustamente che i 
volumi del server sia montati tramite in remoto.
Il problema e` un altro, non capisco come fare ad intercettare gli errori che 
puo` dare smbclient in uno script bash.
In pratica non so come in uno script bash posso fare fare per intercettare un 
errore che proviene dal comando smbclient, per accorgermi se la connessione 
e` avvenuta con successo o se il file e` stato copiato correttamente sul 
server di destinazione.
Ho provato e redirigere l'output di smbclinet in una variabile e quindi a 
cercare eventuali messaggi di errore con "if case" ma la cosa non funziona 
sempre ed oltretutto mi sembra un modo un po' stupido di fare le cose.
Qualcuno mi puo` dare una mano ? 
-- 
Riccardo Saettone
Per rispondere togliere Alfa e Beta dall'indirizzo

 wrote:
puoi provare a vedere il codice che ha restituito il comando con la
variabile $?
di solito i comandi unix quando falliscono qualcosa ritornano un codice
d'errore diverso da 0
syl:~ shiva$ cd /pippo
-bash: cd: /pippo: No such file or directory
syl:~ shiva$ echo $?
1
syl:~ shiva$
-- 
"io, con le cose che finiscono, ho sempre avuto problemi.
la cosa che quando finisce più mi fa soffrire sono i posti
a sedere sul tram."

 syl:~ shiva$
Si ci avevo provato ma funziona a meta` cioe` se non riesce proprio a 
collegarsi mi rimanda il messaggio di errore ma se invece riesce a collegarsi 
al server remoto, ma non a copiare il file allora non mi rida` il messaggio 
di errore.
Questo perche` in realta i comandi che gli do sono due con il primo lancio 
smbclient e gli dico di andare sul server, e con il secondo dico a smbclient 
di copiare il file sul server.
Comunque ora faccio altre prove.
grazie.


 puo` dare smbclient in uno script bash.
ftp?
Henryx

 ftp?
Che centra FTP con smbclient ?


 Che centra FTP con smbclient ?
Visto che devi andare in upload, e visto che il protocollo FTP è nato
per tale scopo, direi che ti conviene vedere se hai la possibilità di
usare tale protocollo. Inoltre, nella suite ncftp (che molto
probabilmente troverai in fink), vi è il comando ncftpput che ti riporta
il codice esatto dell'errore ricevuto durante l'operazione di
trasferimento
Henryx

 trasferimento
Pultroppo non ho la possiblita` di usare FTP. :(
ne di montare il volume remoto anche solo temporaneamente sulla mia macchina.
Altrimenti non mi troverei ad usare smbclient, in questo modo.
