backupsl.sh
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 5.640 ]
Homepage: https://fabio.automatizando.dev
Script usado para realizar backup dos principais arquivos de log, jogando os dados para outro diretório e zerando o conteúdo dos originais. Funciona como o log_rotate.
#!/bin/bash
# Fri Aug 16 2002
#
# backupSlack.sh
#
# Arquivos de log em certos sistemas com razoavel movimento
# costumam crescer e comer espaco como ratos comem queijo. Realizando
# backups desses arquivos pode-se evitar problemas de espaco em disco
# que com o tempo podem ocorrer.
# O script funciona da seguinte forma:
# Fazendo backups dos seguintes arquivos de log /var/log/: messages, cron,
# debug, sulog, syslog.
# Ao fazer esses backups ele zera os
# os arquivos e joga os backups para o diretorio criado na variavel $DST,
# compactando-os.
# Execute o script de tempos em tempos, voce pode adicionar entradas no
# crontab para isso.
# Voce deve ser root para executar esse programa.
# Verifique as permissoes do script, caso nao tenha permissao
# de execucao execute: chmod 755 backuplog.sh
# O programa foi testado em um Slackware 8.0 kernel 2.2.19
#
# Coded by Carlos Carvalho - hash
# Duvidas e sugestoes: h4sh@uol.com.br
# www.vivaolinux.com.br
#
# Gr33tz: Abeel k1ll3r F-117 anubssys Dark[x]
# RodZ Fuchs ( two micro$oft guys, they breath NT,
# would you believe that?!) and few others...
#
if [ ! -d /var/log ]; then
echo "/var/log NAO existe"
echo "QUITTING"
exit 1
fi
backup_function ()
{
#Destino dos backups, se preferir outra localizacao
#altere a linha seguinte:
DST=/root/log_backups
if [ ! -d $DST ]; then
mkdir $DST
else
rm -rf $DST/*
fi
#ROTINA PARA /var/log/* :
#Acrescente mais arquivos(*) em "for arquivo in * ; do" de necessario.
for arquivo in messages cron debug sulog syslog XFree86.0.log ; do
A=
Z=
if [ -e /var/log/$arquivo ]; then
cat /var/log/$arquivo >> $DST/$arquivo.backup
gzip $DST/$arquivo.backup
echo > /var/log/$arquivo
VAR=/var/log/$arquivo*
MESSAGES=$(ls $VAR |wc -l)
A=1
Z=$MESSAGES
while [ "$A" -lt "$Z" ]
do
cat /var/log/$arquivo.$A >> $DST/$arquivo.backup.$A
gzip $DST/$arquivo.backup.$A
echo > /var/log/$arquivo.$A
A=`expr $A + 1`
done
echo "Backup de /var/log/$arquivo* completo"
else
echo "/var/log/$arquivo NAO existe!"
fi
done
sleep 1
echo
echo "Salvos em: $DST"
echo
exit 0
}
info_function ()
{
echo "usage: ./backupSlack.sh [-iniciar] [-ver] [-uninstall]"
exit 0
}
#Entrada de argumentos
case $1
in
-iniciar)
backup_function
;;
-ver)
ls /root/log_backups/
echo -n "Qual log deseja visualizar? "
read FLOG
less /root/log_backups/$FLOG
exit 0
;;
-uninstall)
echo -n "O script e os backups serao deletados. Tem certeza? [s/n]: "
read FERRARI
if [ "$FERRARI" = "s" ]; then
echo "Removidos!"
rm -rf /root/log_backups
rm -rf $0
else
echo "Script e diretorio intactos."
exit 0
fi
;;
*)
info_function
;;
esac
#EOF
easydl - download de arquivos em forma de URLs
Script que conta quantas barras tem em um diretorio
PARPM - Procura de Arquivos em Pacotes Rpm
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Anúncio do meu script de Pós-Instalação do Ubuntu
Instalar Webmin no Redhat e derivados
Ativar a interface de administração cockpit
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (3)
Alguém já testou o novo COSMIC Desktop? O que achou? (5)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (2)









