Automação em cópia de arquivos de backup
Publicado por Bruno 09/06/2008
[ Hits: 6.972 ]
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
Ordena os números em ordem ascendente!
Instalação do Apache + PHP + MySQL
Script educado que saúda o usuário
Nenhum comentário foi encontrado.
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Será possível instalar Linux Mint LMDE em Sony Vaio? (18)
O livro "Linux - Guia do Administrador do Sistema (Rubem E. Ferre... (1)
Como redefinir o diretório Home? (2)
Posso instalar usar o grub sem ter linux instalado, para iniciar o win... (2)
Ocomon 6.0.1 - Problemas ao editar configurações estendidas (6)