Automação em cópia de arquivos de backup
Publicado por Bruno 09/06/2008
[ Hits: 7.125 ]
Esse é meu primeiro script enviado. Estou expondo idéias de utlização de arquivos gerado pelo linux para facilitar aquelas tarefas que temos que fazer diariamente.
Algumas partes do mesmo ainda estão em fase de teste, por isso o comentário..
#!/bin/bash
# Identifica o hd que esta conectado a sua ide pelo modelo, utilizamos o hdc
# mas você poderia usar qualquer um dos outros, neste caso utilizamos o hdc
#pois este disco rigido sempre é utilizado na mesma ide mas nada impede que
#o script seja modificado para checar todas as ide's.
date
if [ -e /proc/ide/hdc ]; then
model=`cut -c 8-18 /proc/ide/hdc/model`
echo $model
if [ $model = STM3160215A ]; then
echo -e "HD correto - Montando as Partições."
dia=`date +"%u" `
#montando a particao referente ao dia
if [ $dia = 1 ]; then
mount /dev/hdc8 /mnt/hd/pt
dsem=sexta
elif [ $dia = 2 ]; then
mount /dev/hdc1 /mnt/hd/pt
dsem=segunda
elif [ $dia = 3 ]; then
mount /dev/hdc5 /mnt/hd/pt
dsem=terca
elif [ $dia = 4 ]; then
mount /dev/hdc6 /mnt/hd/pt
dsem=quarta
elif [ $dia = 5 ]; then
mount /dev/hdc7 /mnt/hd/pt
dsem=quinta
else
echo "Fim de semana"
fi
echo "-->Montado a partição referente a $dsem feira."
#montando particao que contem os backups dos bancos.
mount /dev/hdc9 /mnt/hd/ptbanco
echo -e "-->Montado a partição referente aos backups dos bancos.\n"
# Nesse momento do script passamos para um novo teste, agora iremos testar em qual
#dia da semana estamos para que os arquivos sejam copiados para seu respectivo local
#tomando como referência o dia da semana.
echo -e "Apagando a pasta contendo os arquivos da semana anterior."
rm -vr /mnt/hd/pt/*
data=`head -n 1 /mnt/backup/log.txt`
echo -e "\nCriando o Diretótio /mnt/hd/pt/$data \n"
mkdir /mnt/hd/pt/$data
#Nesse momento estamos apagando o banco mais antigo para ser substituido pelo novo
#, por isso ultilizamos os parametros -t -r para que sempre o primeiro arquivo seja
#o mais antigo.
banco=`ls -tr /mnt/hd/ptbanco`
if [ -e "/mnt/publico/Backups/p$data.zip" ]; then
for iten in ${banco[*]}; do
echo -e "Removendo ultimo arquivo de backup do banco ($iten)."
rm -v /mnt/hd/ptbanco/$iten
break
done
#Copiando o arquivo do banco.
echo -e "\nArquivo encontrado,iniciando cópia de /mnt/publico/Backups/p$data.zip."
cp -v /mnt/publico/Backups/p$data.zip /mnt/hd/ptbanco
else
echo "Arquivo p$data.zip não encontrado, Por favor verifique se o arquivo de backup já foi compactado."
fi
echo -e "\nIniciando a Copia dos Arquivos"
cp -v /mnt/backup/$dsem/* /mnt/hd/pt/$data/
#Verificando se os arquivos foram copiados e excluindo os que não serão mais utilizados.
ls /mnt/backup/$dsem/ > /tmp/ls1
ls /mnt/hd/pt/$data/ > /tmp/ls2
diff /tmp/ls1 /tmp/ls2
if [ $? -eq 0 ]; then
echo "Os arquivos podem ser removidos"
#rm -v /mnt/backup/$dsem
else
echo "Nem todos os arquivos foram copiados corretamente"
fi
else
echo "HD incorreto"
fi
fi
Samba - Forçar usuário a alterar senha no próximo logon
Firewall simples mas muito util
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Programa fora de escala na tela do pc (28)
Linux é a solução para o fim do Windows10? (0)
converter algoritmo C++ em C? (1)
Problemas com Driver NVIDIA (1)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)









