backupsl.sh
Publicado por Fábio Berbert de Paula 13/11/2002
[ Hits: 5.641 ]
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
4net.sh - Calcula velocidade de transmissão na rede
Verifica tamanho da inbox + pastas e envia e-mail alertando o usuario
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
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Como fazer a instalação do Samba
Como fazer a conversão binária e aplicar as restrições no Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (19)
Formas seguras de instalar Debian Sid (13)
Malware encontrado em extensões do Firefox. (0)
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









