Log de FTP em um script .sh

1. Log de FTP em um script .sh

Dionathan Chrys
dionathanchrys

(usa Outra)

Enviado em 27/04/2020 - 15:59h

Olá, sou iniciante em linux e estou tentando fazer ajustar um script de backup, vamos lá.

Uso a distribuição FreeBBX em um servidor que é o nosso PABX da empresa, ajustei um script para compactar as gravações do dia e enviar via FTP.

Tudo funciona OK, as saídas dos comandos linux (compactação dos arquivos) vai para um arquivo .log, porém a parte do FTP não vai nada.

Eu preciso que neste arquivo também tenha as saídas e os comandos do FTP, após esse arquivo log estar OK, quero enviar ele por e-mail (enviar e-mail o servidor esta OK, funcionando sem problemas)

Segue abaixo o script .sh e o resultado do log.

#!/bin/bash
# Backup das ligações

#Log
exec > /mnt/bkp/backupcalls/log/$(date +"%Y")-$(date +"%m")-$(date +"%d").log 2>&1

# Setando as variaveis

# Diretório onde ficarão os tar.gz das ligações do dia
pastagz="/mnt/bkp/backupcalls/$(date +"%Y")-$(date +"%m")/"

# Pasta a ser compactada
recorddir="/var/spool/asterisk/monitor/$(date +"%Y")/$(date +"%m")/$(date +"%d")/"

# Compacta a pasta do dia
arquivoCompactado="$(date +"%Y")-$(date +"%m")-$(date +"%d").tar.gz"

mkdir -p $pastagz
cd $pastagz

/bin/tar -zcvf $arquivoCompactado $recorddir

#Enviando via FTP

ftp -n ftp.com.br <<EOF
quote USER ****
quote PASS ******
binary
put $(date +"%Y")-$(date +"%m")-$(date +"%d").tar.gz
bye
EOF


Segue abaixo as primeiras linhas do arquivo .log.
Como se trata de ligações (número de telefones de pessoas), vou editar os nomes dos arquivos aqui.

/bin/tar: Removing leading `/' from member names
/var/spool/asterisk/monitor/2020/04/27/
/var/spool/asterisk/monitor/2020/04/27/in--1587990451.101639.gsm
/var/spool/asterisk/monitor/2020/04/27/in-1587989129.101308.gsm
/var/spool/asterisk/monitor/2020/04/27/out-1588011776.105444.gsm


O que estou fazendo de errado que a parte do FTP não vai para o log?


  


2. Re: Log de FTP em um script .sh

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 27/04/2020 - 17:35h


dionathanchrys escreveu:

Olá, sou iniciante em linux e estou tentando fazer ajustar um script de backup, vamos lá.

Uso a distribuição FreeBBX em um servidor que é o nosso PABX da empresa, ajustei um script para compactar as gravações do dia e enviar via FTP.

Tudo funciona OK, as saídas dos comandos linux (compactação dos arquivos) vai para um arquivo .log, porém a parte do FTP não vai nada.

Eu preciso que neste arquivo também tenha as saídas e os comandos do FTP, após esse arquivo log estar OK, quero enviar ele por e-mail (enviar e-mail o servidor esta OK, funcionando sem problemas)

Segue abaixo o script .sh e o resultado do log.

#!/bin/bash
# Backup das ligações

#Log
exec > /mnt/bkp/backupcalls/log/$(date +"%Y")-$(date +"%m")-$(date +"%d").log 2>&1

# Setando as variaveis

# Diretório onde ficarão os tar.gz das ligações do dia
pastagz="/mnt/bkp/backupcalls/$(date +"%Y")-$(date +"%m")/"

# Pasta a ser compactada
recorddir="/var/spool/asterisk/monitor/$(date +"%Y")/$(date +"%m")/$(date +"%d")/"

# Compacta a pasta do dia
arquivoCompactado="$(date +"%Y")-$(date +"%m")-$(date +"%d").tar.gz"

mkdir -p $pastagz
cd $pastagz

/bin/tar -zcvf $arquivoCompactado $recorddir

#Enviando via FTP

ftp -n ftp.com.br <<EOF
quote USER ****
quote PASS ******
binary
put $(date +"%Y")-$(date +"%m")-$(date +"%d").tar.gz
bye
EOF


Segue abaixo as primeiras linhas do arquivo .log.
Como se trata de ligações (número de telefones de pessoas), vou editar os nomes dos arquivos aqui.

/bin/tar: Removing leading `/' from member names
/var/spool/asterisk/monitor/2020/04/27/
/var/spool/asterisk/monitor/2020/04/27/in--1587990451.101639.gsm
/var/spool/asterisk/monitor/2020/04/27/in-1587989129.101308.gsm
/var/spool/asterisk/monitor/2020/04/27/out-1588011776.105444.gsm


O que estou fazendo de errado que a parte do FTP não vai para o log?


Com o uso do "<< EOF", não é enviado para o log....

______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: Log de FTP em um script .sh

Dionathan Chrys
dionathanchrys

(usa Outra)

Enviado em 27/04/2020 - 17:48h

Com o uso do "<< EOF", não é enviado para o log....


Se eu tirar acontece isso quando o cron roda...

/mnt/bkp/backup-calls.sh: line 26: quote: command not found
/mnt/bkp/backup-calls.sh: line 27: quote: command not found
/mnt/bkp/backup-calls.sh: line 28: binary: command not found
/mnt/bkp/backup-calls.sh: line 29: put: command not found
/mnt/bkp/backup-calls.sh: line 30: bye: command not found
/mnt/bkp/backup-calls.sh: line 31: EOF: command not found


Se eu executar o comando manualmente, ele trava e só sai dando CTRL+D no log fica assim...

Connected to 10.100.1.4 (10.100.1.4).
220 FTP teste bkp
Remote system type is UNIX.
[?1034hftp> 221 Goodbye
/mnt/bkp/backup-calls.sh: line 26: quote: command not found
/mnt/bkp/backup-calls.sh: line 27: quote: command not found
/mnt/bkp/backup-calls.sh: line 28: binary: command not found
/mnt/bkp/backup-calls.sh: line 29: put: command not found
/mnt/bkp/backup-calls.sh: line 30: bye: command not found




______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________[/quote]




4. Log de FTP em um script .sh

Dionathan Chrys
dionathanchrys

(usa Outra)

Enviado em 05/05/2020 - 12:56h

Alguém tem alguma sugestão?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts