Verifica últimos arquivos criados

Publicado por William Amaral de Souza (última atualização em 23/10/2015)

[ Hits: 17.851 ]

Homepage: https://bit.ly/3itYVzq

Download verificador_bkp.sh

Download 1380295266.verificador_bkp.sh (versão 2)

Download 1380297703.verificador_bkp.sh (versão 3)




Este script tem a intenção de vasculhar determinados diretórios e mostrar o último arquivo criado, utilizado para verificar se o backup do dia foi feito com sucesso e mandar o resultado por email, para não ter que ficar buscando os logs e nem verificar no próprio diretório do backup.

  



Versões atualizadas deste script

Versão 2 - Enviado por William Amaral de Souza em 27/09/2013

Changelog: Versão melhorada.

Download 1380295266.verificador_bkp.sh


Versão 3 - Enviado por William Amaral de Souza em 27/09/2013

Changelog: Versão melhorada.

Download 1380297703.verificador_bkp.sh


Esconder código-fonte

#!/bin/bash
######################################################################
# Script de Backup diferencial
# Data: 17/05/2012
# Por: William A. de Souza
######################################################################

log=/tmp/`date +%d%m%Y`.txt
dest_log=/tmp/
declare -a arquivos

echo "______________________________________________________________________" >> $log
echo "INICIO" >> $log
echo "______________________________________________________________________" >> $log
echo "DIA" `date +%d/%m/%Y` >> $log
echo "HORA" `date +%H:%M:%S` >> $log
echo "______________________________________________________________________" >> $log

# DIRETORIO DOS BACKUPS
######################## INICIO
diretorio=/home/bkp1/
arquivos=(`ls -tr $diretorio`)
x=0;
while [ $x != ${#arquivos[@]} ]
do
    let "x = x +1"
done
    let "x = x -1"
echo "NOME DO BACKUP 1 : " >> $log

echo `ls -lah $diretorio${arquivos[$x]}` >> $log
y=0;
p=1;
echo "______________________________________________________________________" >> $log
######################## FIM

######################## INICIO
diretorio=/home/bkp2/
arquivos=(`ls -tr $diretorio`)
x=0;
while [ $x != ${#arquivos[@]} ]
do
    let "x = x +1"
done
    let "x = x -1"
echo "NOME DO BAKUP 2:" >> $log

echo `ls -lah $diretorio${arquivos[$x]}` >> $log
y=0;
p=1;
echo "______________________________________________________________________" >> $log
######################## FIM

df -h >> $log
echo "______________________________________________________________________" >> $log
echo "FIM" >> $log
echo "______________________________________________________________________" >> $log
# Apagando log mais antigo
TIME_DEL=+30
procuraedestroidif(){
find $dest_log -name "*.txt" -ctime $TIME_DEL -exec rm -f {} ";"
   if [ $? -eq 0 ] ; then
      echo "Log de backup mais antigo eliminado com sucesso!" >> $log
   else
      echo "Erro durante a busca e destruição do log de backup antigo!"  >> $log
   fi
}
procuraedestroidif

# Envia Email
EMAIL_DE="remetente@remetente.com.br"
EMAIL_PARA="destinatario@destino.com.br"
SERVIDOR_SMTP="smtp.remetente.com.br"
SENHA='senha-remetente'
ASSUNTO="RELATORIO DE BACKUPS `date +%d/%m/%Y`" 
MENSAGEM="message-file=$log"
ANEXO=""
sendEmail -f $EMAIL_DE -t $EMAIL_PARA -u "$ASSUNTO" -o "$MENSAGEM" -a $ANEXO -s $SERVIDOR_SMTP -xu $EMAIL_DE -xp $SENHA
exit 0

Scripts recomendados

Envia e-mails periodicamente com back-up do servidor

Script de Inventário

Backup diário das bases do MySQL

Exibir configurações de rede

Instalador de Código Fonte - Linha de Comando


  

Comentários
[1] Comentário enviado por pedrouva em 31/01/2014 - 11:52h

Opa, William, tudo joia?

Cara, eu preciso de uma ajuda. Em uma pesquisa, encontrei seu script, e acho q você pode me ajudar.

Tenho 4 pasta, com o nome de 4 categorias.
Cada categoria tem 3 subcategorias.
Cada subcategoria, tem n arquivos dentro da pasta.
São imagens.
Peguei todas as imagens, de todas as ~/categoria/subcategoria/arquivo.ext, e copiei para uma única pasta, tudo misturado, chamado "pasta".
As imagens estão em um FTP, separadas nas pastas assim: ~/diretorioX/subdiretorioY/arquivoZ.ext
Editei estas imagens através de um action de photoshop, e ele salva tudo em uma única ~/pasta/ tudo misturado...
Agora eu preciso fazer upload ORIGEM: ~/pasta/arquivo.ext DESTINO: ~/categoria/subcategoria/arquivo.ext

Eu tenho todos os arquivos no DESTINO, mas estão sem edição.
Preciso ler os arquivos da ~/pasta/ e substituí-lo no ~/diretorioX/subdiretorioY/arquivoZ.ext

Exemplos:

Origem: ~/pasta/fogoterra1.ext
Destino: ~/Fogo/Terra/fogoterra1.ext

Origem: ~/pasta/fogoterra2.ext
Destino: ~/Fogo/Terra/fogoterra2.ext

Origem: ~/pasta/terraágua1.ext
Destino: ~/Terra/Água/terraágua1.ext

Origem: ~/pasta/arfogo.ext
Destino: ~/Ar/Fogo/arfogo.ext

Meu tópico é este: http://www.vivaolinux.com.br/topico/Shell-Script/Script-de-atualizacao-de-arquivos-recursivamente

Te agradeço imensamente se puder me ajudar. Eu ainda não sei escrever script. Tenho mais de 800 arquivos pra atualizar em inumeras pastas. Na mão é desumano.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts