Uma de minhas tarefas como sysadmin é manter alguns clientes atualizados com algumas informações críticas. Pra que tal situação fosse possível, criei então um script, utilizando ftp, para o envio automatizado que vocês podem conferir agora.

#!/bin/bash
#################################################
### Variáveis
data=`date +%d%m%Y`
data_file=`date +%d-%m-%Y`
data_log=`date +%d/%m/%Y`
hora=`date +%H:%M:%S`
dir='/opt/'
#################################################
### criação de diretórios
mkdir -p $dir/arquivos/$data_file
mkdir -p $dir/log/
#################################################
### Envio para Fulano
cliente="Fulano"
mkdir -p $dir/$cliente/
mkdir -p $dir/log/$cliente/
HOST="200.200.200.200"
USER="user"
PASS="passwd"
ftp -n -v -i $HOST << EOF > $dir/arquivos/saida
user $USER $PASS
lcd $dir/arquivos
binary
mput *-$data_file.csv.gz
ls $arquivo
bye
close
EOF
### fim da conexao ao FTP
#################################################
#################################################
### Checando arquivo enviado para gerar log
conf=`tail -n 5 $dir/arquivos/saida |grep $arquivo | wc -l`
relatorio=`cat $dir/arquivos/saida`;
if [ $conf == "1" ]
then
echo "Upload concluído para $cliente: $arquivo em $data_log as $hora" >> $dir/log/upload.log;
sh /opt/mail.sh "endereco@provedor" "Sucesso - Upload para $cliente" "Arquivo $arquivo enviado com sucesso para $cliente as $hora."
else
echo "Upload falhou para $cliente em $data_log as $hora" >> $dir/log/upload.log;
sh /opt/mail.sh "endereco@provedor" "Falha - $cliente" "Arquivo $arquivo nao enviado para $cliente as $hora.
Log:
$relatorio"
fi
mv $dir/arquivos/saida $dir/log/$cliente/saida_$data-$hora.log

Fiz uso de um outro script publicado anteriormente para envio de alertas por email, veja aqui.

Faltaram comentários no código, mas qualquer dúvida, entre em contato pelos comentários.

E é isso amigos, usem sem moderação!


Artigos relacionados:

  1. Script para envio de e-mail autenticado #shell
  2. Envio de Backups MySQL por e-mail
  3. Coisas que eu não entendo…
  4. O que é pior?
  5. Por que adoramos segundas-feiras