- DBA Shell 1: Deletando arquivos de backup com powershell
- DBA Shell 2: Obtendo mais informações sobre arquivos
- DBA Shell 3: Instalando o SQL Server com Powershell
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
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:
DBA Team Leader na Power Tuning