DEV Community

Criando um script de backup

Seguindo com a nossa serie, vamos começar a fazer projetos com coisas do dia a dia, iniciando com um script para fazer backups.

Vamos fazer uma coisa bem básica, pegar uma lista de pasta de um arquivo e salva-las em uma pasta dentro de nosso OneDrive.
Para ocupar menos espaço, vamos salvar cada uma dessas pastas comprimindo elas.

Nosso algoritmo vai ser algo como:

  1. Receber a lista de pastas
  2. Criar uma pasta no OneDrive com um nome personalizado
  3. Fazer a copia de capa pasta, comprimindo elas no processo

Qual vai ser a estrutura da pasta no OneDrive?

  1. Vamos criar uma pasta geral chamada Backups
  2. Utilizando data e hora, vamos criar nela uma pasta para salvar o backup atual

Partindo do que já vimos, precisamos para esse projeto aprender duas coisas novas, como pegar informações relacionadas a datas e como comprimir arquivos.

Trabalhando com data e hora
Temos uma função nativa do Powershell para receber essas informações, ela se chama Get-Date, que nos retorna o dia da semana, do mês, qual o mês e ano, e a hora atual incluindo os segundos (conforme o idioma do sistema operacional).
Mas para criar uma pasta com esse nome seria bem complicado e não seria o ideal, então vamos utilizar um parâmetro para formatar esse resultado. Utilizando o parâmetro Format podemos definir exatamente quais informações queremos, conforme algumas letras chave.
Para o nosso exemplo, vamos utilizar "hhmmss-ddMMyy", assim vamos gerar um código com a hora, minuto, segundo, dia, mês e ano.

Comprimindo arquivos
Para comprimirmos arquivos no formato ZIP, vamos utilizar o comando Compress-Archive, sua sintaxe é bem simples, informamos qual o arquivo e qual o local onde queremos colocar o arquivo após o processo.

Certo, agora como isso ficaria em código?

Para deixar nosso código mais bonito, utilizamos uma função nova chamada Get-ItemProperty, com ela pegamos o nome da pasta com base nos caminhos informados. Podemos usar isso também para melhorar nossa função de Validar-Pastas, que foi ligeiramente modificada para esse projeto.

É importante lembrar que precisamos do caminho completo da pasta em nossa lista, exemplo: C:\temp
E colocando sempre um por linha.

Com isso, conseguimos criar uma rotina simples de backup em conjunto com o OneDrive. Recomendo fortemente que utilize a nuvem para salvar seus arquivos, isso vai te ajudar muito no caso de um problema no computador ou caso precise acessar esses arquivos em outro dispositivo.

Existem formas muito mais praticas de fazer backups de arquivos pessoais, principalmente das pastas Documentos, Desktop, Imagens..
Mas com a ideia desse script, pode aumentar seu leque de opções.

Top comments (0)