Verifica últimos arquivos criados
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.
Descrição
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
#!/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
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.