Backup
Publicado por Edson Ramiro 29/08/2004
[ Hits: 7.109 ]
Ola amigos.
Aqui vai um Shell-Script de backup :)
Ele tem uma opcao para fazer recursivamente o backup ou fazer apenas fazer backup dos arquivos. Ele faz apartir do diretorio que voce estiver, tem logs e imformacoes de quem realizou o backup.
#!/bin/bash
# Incrementacoes sao bem vindas
# ATENCAO --> Nao estao incluidos os arquivos ocultos no backup
# Coloquem uma funcao para os arquivos ocultos e mandem pra mim
# "lucasdebian@ibest.com.br"
BACKUP_RECURSIVE()
{
for i in *
do
if [ -e backup/$i ]; then
rm -rf backup/$i 2>/dev/null
cp -Rf $i backup/$i 2>/dev/null &&
echo "Substitui (backup/$i) por ($i)"
echo "Substitui (backup/$i) por ($i)" >> backup/BACKUP.LOG
else
cp -Rf $i backup/$i 2>/dev/null &&
echo "Fiz backup de ($i)."
echo "Fiz backup de ($i)." >> backup/BACKUP.LOG
fi
done
LOG
echo ""
echo " --CONCLUIDO BACKUP RECURSIVO"
echo " --CONCLUIDO BACKUP RECURSIVO" >> backup/BACKUP.LOG
/bin/date >> backup/BACKUP.LOG
echo "============================================" >> backup/BACKUP.LOG
echo "" >> backup/BACKUP.LOG
echo ""
}
BACKUP_FILES()
{
for i in *
do
if [ -e backup/$i ]; then
rm -f backup/$i 2>/dev/null
cp $i backup/$i 2>/dev/null &&
echo "Substitui (backup/$i) por ($i)"
echo "Substitui (backup/$i) por ($i)" >> backup/BACKUP.LOG
else
cp -f $i backup/$i.bkp 2>/dev/null &&
echo "Fiz backup de ($i)."
echo "Fiz backup de ($i)." >> backup/BACKUP.LOG
fi
done
LOG
echo ""
echo " --CONCLUIDO BACKUP"
echo " --CONCLUIDO BACKUP" >> backup/BACKUP.LOG
/bin/date >> backup/BACKUP.LOG
echo "============================================" >> backup/BACKUP.LOG
echo "" >> backup/BACKUP.LOG
echo ""
}
CHECK(){
if [ -d backup/ ]; then
RORF
else
mkdir backup &&
echo "--Criado o diretorio \"backup\" " > backup/BACKUP.LOG
RORF
fi
}
RORF()
{
echo "Fazer Backup dos diretorios tambem?(s/n)"
read h
case $h in
s)BACKUP_RECURSIVE;;
n)BACKUP_FILES;;
help)HELP;;
q)exit;;
*)echo ""; echo "--Para ajuda use \"help\" "; echo ""; CHECK;;
esac
}
# Eu fiz um "--help" para mim mesmo :)
HELP()
{
clear
less /usr/share/doc/backup.sh/manual.txt
CHECK
}
LOG()
{
echo "" >> backup/STATUS.LOG
/bin/date >> backup/STATUS.LOG
echo "" >> backup/STATUS.LOG
echo "Backup feito como usuario: $USER" >> backup/STATUS.LOG
echo "Backup feito pelo usuario: $LOGNAME" >> backup/STATUS.LOG
echo "============================================" >> backup/STATUS.LOG
}
CHECK
Validador mac-address em shell script
string_out: remova a primeira ocorrência de uma string em um arquivo de texto
genpass - Simple Password Generator
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica









