다음 스크립트가 있습니다.
#!/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
스크립트를 실행하면 "Domain=[SEGCAT] OS=[Windows 8.1 Pro 9600] Server=[Windows 8.1 Pro 6.3]"만 표시되고 파일은 복사되지 않습니다.
$smbclient 줄을 에코하고 직접 복사하여 붙여넣으면 파일이 완벽하게 복사됩니다. 무슨 일이 일어나고 있는지 모르겠습니다. 이해가 되지 않습니다.
편집: 수정 사항은 $SMBCLIENT 줄을 $SMBCLIENT //192.168.3.57/publica -A $BACKUP/.smbclient -c "prompt; recurse; mput $FILE;exit;"로 바꾸는 것이었습니다.