DBA Shell 1: Deletando arquivos de backup com powershell

Post 1/3. Este post é parte da série: DBA Shell
Tempo de leitura estimado: 2 minutos

Este post inaugura mais uma série de posts que visa trazer mais conhecimento prático sobre o uso de powershell e bash no dia-a-dia de um DBA. O objetivo é explicar as sintaxes e comandos dessas ferramentas, utilizando situações práticas e com posts mais curtos! A medida que avançamos, irei apresentar versões mais elaboradas do scripts, utilizando recursos mais avançados, e sempre explicando cada detalhe do código!

Vamos aprendendo de pouco em pouco, com paciência! E se você tiver sugestões ou dúvidas de assuntos para abordar, utilize os comentários!

Ah, e outra coisa importante: Jamais execute os exemplos aqui do blog diretamente no seus ambientes. Teste sempre em uma máquina de testes e tenha certeza do que esteja fazendo. Toda a execução será por sua conta e risco.

Para começar, vamos falar de uma atividade que todo DBA necessita realizar de vez em quando: Deletar arquivos de backup em um ambiente Windows!

Imagine que você tenha diversos arquivos de backup no diretório C:\SQLBackups. Para deletá-los usando powershell, você pode usar o seguinte comando:

Remove-Item -Path C:\SQLBackups\*.bak
Formas de abrir o powershell
  • Abra o menu iniciar, e digite powershell
  • Abra a janela “executar” (WINKEY + R) e digite powershell
  • Abra o prompt de comando e digite powershell

 

Este script é composto por apenas um comando: Remove-Item. No powershell os comandos são chamados de cmdlet. Todo cmdlet aceita parâmetros. Os valores desses parâmetros são passados ao invocar o comando. No caso acima, estamos especificando apenas um parâmetro:

-Path C:\SQLBackup\*.bak

O parâmetro -Path indica o caminho do arquivo ou diretório que se deseja remover. Você pode passar wildcards (caracteres curinga) para especificar um filtro.

Você também pode omitir o nome do parâmetro:

Remove-Item C:\SQLBackups\*.bak

Nesse caso, o powershell vai associar o valor C:\SQLBackups\*.bak com o primeiro parâmetro desse comando, que é o “-Path”.  Para simplificar ainda mais, você pode usar um alias chamado rm, que é um apelido para o cmdlet Remove-Item:

#Com o nome do parâmetro
rm -Path C:\SQLBackups\*.bak

#Sem o nome do parâmetro!
rm C:\SQLBackups\*.bak

Os alias são “apelidos” para comandos, semelhantes a alias de colunas ou de tabelas em um comando SQL. O powershell tem uma série de alias que também são instalados juntos com o powershell. Iremos conhecê-los vários deles nesta série! Um comando pode ter vários alias definidos pra ele. Por exemplo, além do “rm”, o cmdlet Remove-Item também tem o del como alias:

del C:\SQLBackups\*.bak

 

Para simplificar:

  • Formas de remove arquivos de backup de um diretório:
    Remove-Item -Path <CaminhoDiretorio>\*.bak
    Remove-Item <CaminhoDiretorio>\*.bak
    rm -Path <CaminhoDiretorio>\*.bak
    rm <CaminhoDiretorio>\*.bak
    del <CaminhoDiretorio>\*.bak
  • Cmdlet é como os comandos nativos do powershell são chamados
  • Alias são “apelidos” para comandos do powershell

Fique ligado na série! Em outros posts, iremos ir evoluindo esses scritps, adicionando mais filtros, como datas, adicionando em scripts, etc.

Até lá!

Fontes e links úteis:

 

Navegue na sérieDBA Shell 2: Obtendo mais informações sobre arquivos >>
Compartilhe este post!

Leave a reply

Your email address will not be published.