Backup: O que é, tipos e dúvidas mais comuns
Se você faz backup - da mesma forma que alguém que tem um seguro - não quer usar, mas entende que é necessário. Se não faz, considere seriamente começar a fazer hoje mesmo. Para um caso ou outro, é fundamental saber exatamente o que é backup, quais os tipos existentes e sanar todas as dúvidas, para que quando for necessário, você estará a salvo.
Entender adequadamente o que é backup, tem muito a ver com entender a palavra, que tem origem no idioma inglês. Ao efetuar uma pesquisa em qualquer dicionário pela palavra BACK, encontrará termos como costas, atrás e de volta e é este último que dá o significado ao procedimento, na medida em que um backup é voltar a situação em que se tinha no passado.
Sendo assim, o backup consiste em efetuar uma cópia de dados quaisquer, para que caso ocorra algum problema com tais dados, possamos recorrer a cópia e tê-los de volta em uma condição segura ou utilizável, que tínhamos em uma data específica no passado.
A forma mais simples, acessível e comum de backup, é fazer cópias simples de algum conteúdo que seja importante e que o usuário não pode correr o risco de perder ou ver alterado inadvertidamente, em mídias externas ao dispositivo em que os dados estão gravados, como por exemplo, quando você copia as fotos do seu smartphone para um serviço armazenamento na nuvem, como por exemplo, Google Drive ou Onedrive, ou qualquer um entre as dezenas existentes.
Em termos de forma que são feitos, os backups podem assumir diferentes tipos e estes tipos determinam como gravar os dados, quais dados gravar e como você os utilizará se necessitar restaurar algum conteúdo.
Backup Normal (Completo) – copia todos os arquivos e marca os arquivos como integrantes do backup para que o sistema não efetue uma nova cópia de conteúdo já copiado. Feito no primeiro dia de uma rotina frequente de backups e que compreende a totalidade dos arquivos que é alvo de backup.
Backup Incremental – copia apenas o conteúdo que foi criado ou alterado desde que o backup normal ou um outro incremental tenham sido feitos. Todos arquivos que foram alvo do incremental são marcados e assim quando um novo backup normal ou incremental for feito, tais dados não serão copiados novamente. A vantagem desta modalidade, é o tempo de cópia do conteúdo, que é menor, já que não se copia novamente algo já coberto pelo backup.
Backup Diferencial – copia o conteúdo que foi criado ou alterado desde que o backup normal ou incremental tenham sido feitos, mas não marca os arquivos que passaram pelo backup. A vantagem deste tipo, é que o tempo restauração de conteúdo é menor, mas o espaço de armazenamento e o tempo de realização, são maiores. Recebe este nome, porque apenas o conteúdo que difere do inicial é armazenado.
Backup Diário – copia todo o conteúdo contido no alvo / origem do backup relativos a data em que é realizado e não marca os arquivos como copiados, para não interferir caso seja feita uma rotina de backups incrementais. Especialmente desejável quando se tem necessidade de maior confiabilidade quanto à cópia de conteúdo de uma data específica.
Backup de Cópia (Emergencial) – realiza cópia de todo conteúdo selecionado, mas não marca. Indicado quando se quer ter cópia de conteúdo entre um backup normal e incremental, pois não afeta a marcação feita entre estas operações
Os dois últimos tipos de backup, conforme mencionamos brevemente em suas respectivas explicações, são usados apenas em situações excepcionais e, portanto, não são geralmente usados para restauração, a não ser que algo no processo realizado no incremental ou diferencial, tenha gerado um conteúdo falho ou não confiável.
Quando você realiza backups incrementais, havendo a necessidade de se restaurar dados, você tem que recorrer a vários arquivos. Na prática, são tantos arquivos quanto os dias que você quer retornar ao conteúdo perdido. Ou seja, a restauração é mais demorada.
Se por outro lado você utiliza backups diferencias, havendo necessidade de restauração, utilizará apenas o backup normal e aquele que for relativo à data a qual deseja voltar e assim a restauração é mais rápida.
Seja no método incremental ou no diferencial, sempre você precisará do backup normal para restauração completa do conteúdo que foi assegurado.
Mecânica de backup
Além dos tipos de backup que vimos acima, há também a mecânica de como os dados são copiados pelo sistema usado e que são:
Hot Backup – procedimento de backup é feito com sistema de dados (ex: ERP) e dados sendo usados.
Cold Backup – os dados copiados não podem estar sendo utilizados pelo sistema ou usuários
Como funcionam os sistemas de backup?
Independente do tipo de backup adotado e da mecânica do processo, o que todo sistema de backup faz, é copiar o conteúdo alvo em uma mídia alternativa e que será armazenada fisicamente distante da origem ou até mesmo em outra localidade geográfica, para que no caso de um acidente físico ou mesmo algum tipo de subtração de dados (roubo, ransonware, deleção, etc), os dados possam ser recuperados, já que a cópia está segura e íntegra.
Nas datas e horários que são determinados para realização do backup, os dados são copiados e embora atualmente ainda existam procedimentos manuais, há sistemas que se encarregam automaticamente do processo, bem como de salvar os dados de restauração – que são recuperáveis – em uma mídia ou drive remoto e seguro.
Efetuar backups manuais está cada vez mais em desuso, tanto pelo trabalho que dá, quanto pela possibilidade de erros por procedimentos manuais.
Quando se faz o gerenciamento de backups através das ferramentas modernas, a questão do tipo de backup feito, é irrelevante, já que normalmente combinam os tipos diferentes, de forma a assegurar a integridade e disponibilidade dos dados da forma mais segura, rápida e ampla possível.
Desta forma, quando se procede com a restauração de um conteúdo, relativo a uma data, a situação dos dados retorna exatamente a condição que eles tinham quando a cópia foi feita e é absolutamente indiferente que tipo foi usado.
Dúvidas mais comuns sobre backup
Quando não se tem familiaridade com rotinas e sistemas de backup, é natural que algumas dúvidas ocorram. A seguir listamos algumas perguntas frequentes que se faz quando se pensa ou se necessita recorrer a um backup:
Consigo restaurar meus dados para uma data e horários específicos?
Não. Geralmente os dados são copiados diariamente sempre no mesmo horário ou em um intervalo aproximado. Assim, a restauração dos dados retorna os dados exatamente como eles eram na data e momento em que são copiados.
Tive um problema de sistema (sistema operacional ou algum programa). Restaurar um backup resolve o meu problema?
Depende. Um sistema de backup realiza cópias do que você escolher copiar. Se não estiver configurado no sistema que se faça cópias dos arquivos do sistema afetado, você não terá conteúdo para restaurar ou retornar o sistema a um ponto íntegro anterior ao problema.
Um sistema de backup é 100% confiável?
Não. Afirmar que algum sistema é isento de falhas, é perigoso. As tecnologias atualmente disponíveis favorecem índices muito elevados de confiabilidade, mas em condições especiais e extremas, podem haver falhas e por isso, se você pode ter pelo menos 2 alternativas em relação a dados mais críticos, é aconselhável.
Tenho dados pessoais na Internet. De quem é a responsabilidade pelo backup?
A responsabilidade pelo backup de quaisquer dados seus, é sua. Geralmente esta questão é estipulada nos termos de prestação de serviços que você utiliza e mesmo que o serviço ofereça alguma modalidade de backup, é sua responsabilidade manter cópias pessoais por segurança e redundância.
Manter backups junto aos dados que são copiados, é seguro?
Não. Jamais mantenha as cópias junto aos originais. Geralmente, se possível, o indicado é que não sejam mantidos nem na mesma localidade geográfica, para evitar perdas por desastres naturais ou sinistros.
Tenho HDs configurados em RAID 1 ou RAID 10, isso evita que eu precise de backup?
Não. Manter backups é necessário em qualquer situação de armazenamento dos seus dados. Uma configuração como RAID 1 pode reduzir drasticamente as chances de perda de dados por falhas lógicas ou físicas de hardware, porém não o garante em relação à perda por outras situações, como uma falha humana, por exemplo. Se inadvertidamente alguém apagar algum conteúdo importante, como você o recuperará?
Por mais segurança que exista em relação aos dados que você utiliza, seja em termos de impenetrabilidade do sistema, imunização contra malwares, disponibilidade, redundância e confiabilidade de hardware, manter sistemas que copiam os dados sensíveis da empresa ou mesmo pessoais, é fundamental. O investimento assegura a manutenção de informações que em alguns casos são altamente estratégias e valiosas, nem que as vezes sejam "apenas" as fotos do nascimento do seu filho, cujo valor afetivo, é inestimável!
` }) Vue.component('component-criar-comentario', { props: ['value'], name: 'component-criar-comentario', data: function () { return { nome: { valor: null, erro: false }, email:{ valor: null, erro: false, erroMensagem: 'Preenchimento necessário.' }, comentario: {valor: '', erro: false }, url: 'backup-o-que-e-tipos-e-duvidas-mais-comuns', //enviadoSucesso: null, carregando: false, store: store.state } }, computed: { comentarioChars: function() { if(this.comentario.valor.length > 3500) this.comentario.valor = this.comentario.valor.substring(0, 3500); return this.comentario.valor.length; }, pai: { get: function() { return this.value }, set: function(novoValor) { this.$emit('input', novoValor) } }, enviadoSucesso: { get: function() { return this.store.enviadoSucesso }, set: function(novoValor) { store.setEnviadoSucesso(novoValor) } }, comentarios: { get: function() { return this.store.comentarios }, set: function(novoValor) { store.setComentarios(novoValor) } } }, methods: { addComentario: function () { //Se já há um envio em andamento if(this.carregando) return; // Zerar os erros this.nome.erro = false this.email.erro = false this.comentario.erro = false if(!this.nome.valor) { this.nome.erro = true console.log('nome vazio') } if(!this.email.valor) { this.email.erro = true this.email.erroMensagem = 'Preenchimento necessário.' console.log('email vazio') } if(!this.comentario.valor) { this.comentario.erro = true console.log('comentario vazio') } if(!this.comentarioChars > 500) { this.comentario.erro = true console.log('comentario maior que 500') } if(this.nome.erro || this.email.erro || this.comentario.erro) { console.log('erro') return; } this.carregando = true // Obtem os dados // analisa se os dados estão corretos // Envia os dados para o servidor e aguarda o retorno var bodyFormData = new FormData() var that = this bodyFormData.set('pai', this.pai) bodyFormData.set('nome', this.nome.valor) bodyFormData.set('email', this.email.valor) bodyFormData.set('comentario', this.limparComentario(this.comentario.valor)) axios.post(`https://www.hostmidia.com.br/blog/comentario-adicionar/${this.url}/`, bodyFormData) .then(function (response) { if(response.data.success) { // Se retornar com sucesso adiciona o nome e o email ao cookie that.enviadoSucesso = that.pai // Cria um timeout para desaparece a mensagem de sucesso setTimeout(() => that.enviadoSucesso = null, 5000); localStorage.setItem('nome', that.nome.valor) localStorage.setItem('email', that.email.valor) var novoComentario = { pai: that.pai, url: that.url, data: new Date(), comentario: that.limparComentario(that.comentario.valor), filhos: [], id: response.data.success, nome: that.nome.valor } //Zera comentario that.comentario.valor = '' // Adiciona o comentario a lista, para ser visualizado // Se o pai é 0 então não tem pai, caso contrário localiza o pai e adiciona como filho if(that.pai == 0) { that.comentarios.push(novoComentario) } else { that.comentarios.forEach(comentario => that.adicionarFilho(comentario, that.pai, novoComentario) ) } that.pai = 0 //Salva localmente o comentario var comentarios = JSON.parse(localStorage.getItem('novoComentarios')) if(!comentarios) { localStorage.setItem( 'novoComentarios', JSON.stringify([novoComentario]) ) } else { comentarios.push(novoComentario) localStorage.setItem( 'novoComentarios', JSON.stringify(comentarios) ) } } else { console.log('erro') if(response.data.field == 'email') { that.email.erro = true that.email.erroMensagem = 'Endereço de e-mail inválido.' } that.enviadoSucesso = null } that.carregando = false }) .catch(function (error) { // handle error console.log(error); that.enviadoSucesso = false that.carregando = false }) }, limparComentario: function(comentario) { var d = document.createElement('div'); d.innerHTML = comentario; return d.textContent; }, // Adiciona um comentario à lista como filho do respectivo pai adicionarFilho: function(comentario, id, object) { if(comentario.id == id) { comentario.filhos.push(object) return } var that = this comentario.filhos.forEach( filho => that.adicionarFilho(filho, id, object) ) } }, created: function() { //Ver se tem um cookie com os dados do email e nome se já enviou um comentario com sucesso this.nome.valor = localStorage.getItem('nome') this.email.valor = localStorage.getItem('email') }, template: `
` }) // -- Principal -- var app = new Vue({ el: '#app', data: { loading: false, comentarResposta: 0, url: 'backup-o-que-e-tipos-e-duvidas-mais-comuns', store: store.state }, computed: { comentarios: { get: function() { return this.store.comentarios }, set: function(novoValor) { store.setComentarios(novoValor) } }, totalComentarios: { get: function() { return this.store.comentarios.reduce(this.somarComentarios, this.store.comentarios.length) } } }, methods: { somarComentarios: function(acc, item) { if(item.filhos.length === 0) { return acc; } else { return item.filhos.reduce(this.somarComentarios, acc+item.filhos.length) } }, // Se há um comentário salvo localmente adicionar como filho do respectivo pai adicionarFilho: function(comentario, id, object) { if(comentario.id == id) { // Verifica se o comentario já existe, ou seja foi aprovado if(comentario.filhos.find((c) => c.id == object.id) === undefined) { comentario.filhos.push(object) } return } var that = this comentario.filhos.forEach( filho => that.adicionarFilho(filho, id, object) ) } }, created: function() { //Limpar os comentários mais antigos que três dias window.requestIdleCallback(() => { var comentarios = JSON.parse(localStorage.getItem('novoComentarios')) var dataReferencia = new Date() dataReferencia.setDate(dataReferencia.getDate() - 3) // Se a data do comentario for maior que três dias atrás então mantem if(comentarios) { comentarios = comentarios.filter( (c) => new Date(c.data) > dataReferencia ) localStorage.setItem( 'novoComentarios', JSON.stringify(comentarios) ) } } ) var that = this; axios.get('https://www.hostmidia.com.br/blog/comentario-listar/backup-o-que-e-tipos-e-duvidas-mais-comuns') .then(function (response) { if(response.data) { that.comentarios = response.data var novoComentarios = JSON.parse(localStorage.getItem('novoComentarios')) if(novoComentarios) { novoComentarios = novoComentarios.filter((c) => c.url == that.url) novoComentarios.forEach(novoComentario => { // Se o pai é 0 então não tem pai, caso contrário localiza o pai e adiciona como filho if(novoComentario.pai == 0) { // Verifica se o comentario já existe, ou seja foi aprovado if(that.comentarios.find((c) => c.id == novoComentario.id) === undefined) { that.comentarios.push(novoComentario) } } else { that.comentarios.forEach(comentario => that.adicionarFilho(comentario, novoComentario.pai, novoComentario) ) } }) } } else { console.log('erro') } }) .catch(function (error) { // handle error that.loading = false; console.log(error); }) } })