Verifica últimos arquivos criados

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

[ Hits: 18.252 ]

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

mkeggdrop e mkpsybnc

Biblioteca de funções de manipulação de arquivos CSV para shell script

Restaurar backup de uma conta cpanel mesmo que ela já exista

Atualização Automática do Uvscan (Antivirus for linux)

Pra quem não usa WhatsUp e Nagios mas tem um *inx.


  

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