Next
Previous
Contents
Adam Neat (
adamneat@ipax.com.au) gentilmente contribuiu com o seguinte script para fazer cópias de segurança de máquinas Windows no Linux, usando o utilitário smbclient. Adam diz tê-lo usado para fazer cópias de segurança de máquinas Windows 3.x e NT numa máquina Linux com drive DAT SCSI.
O Adam não está orgulhoso do estilo de codificaçõa usado aqui, mas ele funciona. Como que gosto de dizer: "Se funciona e é estúpido, então não é estúpido".
Neste script, a string 'agnea1' é o nome do usuário na máquina Linux que faz as cópias de segurança (backups).
#!/bin/bash
clear
echo Inicializando ...
checkdate=`date | awk '{print $1}'`
if [ -f "~agnea1/backup-dir/backup-data" ]; then
echo "ERRO: Nenhum arquivo de configuração para hoje!"
echo "FATAL!"
exit 1
fi
if [ -d "~agnea1/backup-dir/temp" ]; then
echo "ERRO: Diretório temporário não encontrado!"
echo
echo "Tentando criar "
cd ~agnea1
cd backup-dir
mkdir temp
echo "Diretório criado - temp"
fi
if [ "$1" = "" ]; then
echo "ERRO: entre o nome da máquina (ex: cdwriter)"
exit 1
fi
if [ "$2" = "" ]; then
echo "ERRO: entre um recurso SMB (Lan Manager) (ex: work)"
exit 1
fi
if [ "$3" = "" ]; then
echo "ERRO: entre um endereço IP para $1 (ex: 130.xxx.xxx.52)"
exit 1
fi
#############################################################################
# Main Section
#
#############################################################################
cd ~agnea1/backup-dir/temp
rm -r ~agnea1/backup-dir/temp/*
cd ~agnea1/backup-dir/
case "$checkdate"
in
Mon)
echo "Fazendo Backup de Segunda-feira"
cat backup-data | /usr/local/samba/bin/smbclient
\\\\$1\\$2 -I$3 -N echo "Completo"
if [ -d "~agnea1/backup-dir/Monday" ]; then
echo "Diretório Monday não encontrado ...
criando" mkdir
~agnea1/backup-dir/Monday
fi
echo "Arquivando ..."
cd ~agnea1/backup-dir/temp
tar -cf monday.tar * echo "feito ..."
rm ~agnea1/backup-dir/Monday/monday.tar
mv monday.tar ~agnea1/backup-dir/Monday
;;
Tue)
echo "Fazendo Backup de Terça-feira"
cat backup-data | /usr/local/samba/bin/smbclient
\\\\$1\\$2 -I$3 -N echo "Completo"
if [ -d "~agnea1/backup-dir/Tuesday" ]; then
echo "Diretório Tuesday não encontrado ...
criando" mkdir
~agnea1/backup-dir/Tuesday
fi
echo "Arquivando ..."
cd ~agnea1/backup-dir/temp
tar -cf tuesday.tar *
echo "feito ..."
rm ~agnea1/backup-dir/Tuesday/tuesday.tar
mv tuesday.tar ~agnea1/backup-dir/Tuesday
;;
Wed)
echo "Fazendo Backup de Quarta-feira"
cat backup-data | /usr/local/samba/bin/smbclient
\\\\$1\\$2 -I$3 -N echo "Completo"
if [ -d "~agnea1/backup-dir/Wednesday" ]; then
echo "Diretório Wednesday não encontrado
... criando " mkdir
~agnea1/backup-dir/Wednesday
fi
echo "Arquivando ..."
cd ~agnea1/backup-dir/temp
tar -cf wednesday.tar *
echo "feito ..."
rm ~agnea1/backup-dir/Wednesday/wednesday.tar
mv wednesday.tar ~agnea1/backup-dir/Wednesday
;;
Thu)
echo "Fazendo Backup de Quinta-feira"
cat backup-data | /usr/local/samba/bin/smbclient
\\\\$1\\$2 -I$3 -N echo "Completo"
if [ -d "~agnea1/backup-dir/Thursday" ]; then
echo "Diretório Thrusday não encontrado ...
criando" mkdir
~agnea1/backup-dir/Thursday
fi
echo "Arquivando ..."
cd ~agnea1/backup-dir/temp
tar -cf thursday.tar *
echo "feito ..."
rm ~agnea1/backup-dir/Thursday/thursday.tar
mv thursday.tar ~agnea1/backup-dir/Thursday
;;
Fri)
echo "Fazendo Backup de Sexta-feira"
cat backup-data | /usr/local/samba/bin/smbclient
\\\\$1\\$2 -I$3 -N echo "Completo"
if [ -d "~agnea1/backup-dir/Friday" ]; then
echo "Diretório Friday não encontrado ...
criando" mkdir
~agnea1/backup-dir/Friday
fi
echo "Arquivando ..."
cd ~agnea1/backup-dir/temp
tar -cf friday.tar *
echo "feito ..."
rm ~agnea1/backup-dir/Friday/friday.tar
mv friday.tar ~agnea1/backup-dir/Friday
;;
*)
echo "FATAL ERROR: Variável desconhecida passada para dia"
exit 1;;
esac
###########
Next
Previous
Contents
|