here-document na linha… delimitado por fim-de-arquivo (desejado '…')

1

Eu mudei os hosts e o script funcionou antes, mas eu tive que mudar o servidor e a porta.

Aqui está o script:

echo "FTPing file..."
ftp -p -n -v my.server.com 8888 << EOT
user myusername mypassword
prompt
bin
put ${FILEDIR}.gz ${FILE}.gz
quit
END_SCRIPT
exit 0

O erro que estou recebendo é tal:

Backing up KB mysql database
Starting dump to file...
Dump complete...
Gzipping file...
Gzip complete...
/home2/myuser/backups/zips/mykb.sql.2017_02_08.gz was created:
-rw-r--r-- 1 myusername myusername 126315 Feb  8 21:44 /home2/myuser/backups/zips/mykb.sql.2017_02_08.gz
FTPing file...
/home2/myuser/backups/backupkb.sh: line 46: warning: here-document at line 39 delimited by end-of-file (wanted 'EOT')
ftp: connect: Connection refused
Not connected.
Interactive mode off.
Not connected.
Not connected.

Sou bastante novo no unix e este é um ser executado como uma tarefa do cron no meu servidor da Web compartilhado alugado, por isso realmente não sei o que o erro significa.

Alguém pode me dizer o que estou fazendo de errado?

    
por ErocM 09.02.2017 / 05:47

1 resposta

0

O "Aqui documento" deve ser terminado com o mesmo símbolo com o qual começa. Você começa com EOT , mas termina com END_SCRIPT .

Este é o código correto:

echo "FTPing file..."
ftp -p -n -v my.server.com 8888 << EOT
user myusername mypassword
prompt
bin
put ${FILEDIR}.gz ${FILE}.gz
quit
EOT
exit 0
    
por 09.02.2017 / 08:04

Tags