Eu tenho o seguinte script:
#!/bin/sh
BACKUP=/respaldoBD
NOW=$(date +"%d_%m_%Y")
SMBCLIENT="$(which smbclient)"
DBS="zabbix"
for db in $DBS
do
FILE="mysql_$db.$NOW.gz"
echo $FILE
PARM="prompt; recurse; mput $FILE; exit;"
for f in $FILE
do
$SMBCLIENT //192.168.3.57/publica -A $BACKUP/.smbclient -c "\""$PARM"\$
done
done
Quando eu executo o script, eu só recebo "Domínio = [SEGCAT] SO = [Servidor Windows 8.1 Pro 9600] = [Windows 8.1 Pro 6.3]" e o arquivo não é copiado.
Se eu fizer eco da linha $ smbclient e copiá-la e colá-la diretamente, ela copia o arquivo perfeitamente. Eu não sei o que está acontecendo, não faz sentido para mim.
EDIT: a correção foi substituir a linha $ SMBCLIENT por: $ SMBCLIENT //192.168.3.57/publica -A $ BACKUP / .smbclient -c "prompt; recurse; mput $ FILE; sair;"
Tags bash