Otimizando a Organização de Arquivos por Meio de Automação
A reorganização de diretórios com os relatórios dos backups desempenha um papel fundamental na organização e na eficiência operacional. Um script Bash bem elaborado pode facilitar significativamente esse processo, proporcionando automação e economia de tempo para administradores de sistemas. Ao implementar um script Bash para a reorganização de diretórios em um servidor FTP, é possível criar uma estrutura lógica e ordenada, simplificando a navegação e o gerenciamento de arquivos. Esse tipo de script pode ser projetado para categorizar arquivos por tipo, data ou qualquer critério relevante, facilitando a localização e o acesso aos dados. O script poderia começar realizando uma análise do diretório atual no servidor FTP, identificando subdiretórios e arquivos. Em seguida, com base em critérios predefinidos, ele organiza esses itens de maneira lógica. Isso pode envolver a criação de novos diretórios, a transferência de arquivos entre eles e até mesmo a exclusão de itens não mais necessários.
Diretório
Esse o diretório onde estão os arquivos de FTP dos jobs dos backups - todos juntos, misturados, pra encontrar um era um trabalho - imagine esse diretório com 15 anos de relatório de backups\\ftp\repositorio\mdf\db2\dbas 24020220611DIA.TXT 8020220610DIA.TXT 21020220610DIA.TXT 24020220610DIA.TXT 8020220609DIA.TXT 24220220611LEG.TXT 2020220206MES.TXT 3020220206MES.TXT 4020220206MES.TXT 5020220206MES.TXT 6020220206MES.TXT 7020220206MES.TXT 8020220206MES.TXT 9020220206MES.TXT 10020220206MES.TXT 12020220206MES.TXT 13020220206MES.TXT 14020220206MES.TXT 15020220206MES.TXTAo rodar o script bash vamos gravar para dentro de uma pasta chamada FTP_ADABAS onde vamos separar por ano e o tipo de backup
FTP_ADABAS 2022 - ANO - DIA - LEG - MES - SEG - SEM - SHOC 2023 - ANO - DIA - LEG - MES - SEG - SEM - SHOC 2024 - ANO - DIA - LEG - MES - SEG - SEM - SHOC 2025 - ANO - DIA - LEG - MES - SEG - SEM - SHOC 2026 - ANO - DIA - LEG - MES - SEG - SEM - SHOC
script_backup.bat
Para abordar essa questão, desenvolvemos um script em BAT denominado "script_backup.bat". Este script desempenha a função de mover os arquivos localizados na raiz do diretório para o diretório específico do ano correspondente. Sua estrutura é simples, empregando comandos do DOS do Windows. O funcionamento do script se inicia com a captura da variável referente ao ano atual. Em seguida, são movidos os backups no formato TXT do diretório principal para suas respectivas pastas no diretório ANO/PERIODICIDADE. Essa abordagem visa categorizar os backups de forma organizada, facilitando a gestão e recuperação de dados com base em critérios temporais específicos. Ao realizar esse processo de reorganização, o script contribui para a manutenção da estrutura do repositório, assegurando que os backups sejam armazenados nos diretórios correspondentes ao ano e à periodicidade desejados. Essa prática não apenas simplifica a localização de backups específicos, mas também promove uma melhor organização e gestão eficiente dos dados armazenados, otimizando assim o ambiente de backup no sistema operacional Windows.@echo off setlocal enabledelayedexpansion :: --------------------------------------------------------------------------------- :: Extract date fields - language dependent :: --------------------------------------------------------------------------------- :: :: for /f "tokens=1-4 delims=/-. " %%i in ('date /t') do ( set v1=%%i& set v2=%%j& set v3=%%k if "%%i:~0,1%%" gtr "9" (set v1=%%j& set v2=%%k& set v3=%%l) for /f "skip=1 tokens=2-4 delims=(-)" %%m in ('echo.^|date') do ( set %%m=!v1!& set %%n=!v2!& set %%o=!v3! ) ) :: Final set for language independency (English and Portuguese - maybe works for Spanish and French) set year=%yy%%aa% set month=%mm% set day=%dd% :: --------------------------------------------------------------------------------- :: Validando as Variaveis que foram carregadas acima :: --------------------------------------------------------------------------------- :: :: echo Year:[%year%] - month:[%month%] - day:[%day%] :: :: --------------------------------------------------------------------------------- :: ---- Movendo os arquivos DIA :: --------------------------------------------------------------------------------- :: :: move \\ftp\repositorio\mdf\db2\dbas\*DIA.TXT \\ftp\repositorio\mdf\db2\dbas\FTP_ADABAS\%year%\DIA :: :: :: --------------------------------------------------------------------------------- :: ---- Movendo os arquivos SEG :: --------------------------------------------------------------------------------- :: :: move \\ftp\repositorio\mdf\db2\dbas\*SEG.TXT \\ftp\repositorio\mdf\db2\dbas\FTP_ADABAS\%year%\SEG :: :: :: --------------------------------------------------------------------------------- :: ---- Movendo os arquivos SEM :: --------------------------------------------------------------------------------- :: :: move \\ftp\repositorio\mdf\db2\dbas\*SEM.TXT \\ftp\repositorio\mdf\db2\dbas\FTP_ADABAS\%year%\SEM :: :: :: --------------------------------------------------------------------------------- :: ---- Movendo os arquivos MES :: --------------------------------------------------------------------------------- :: :: move \\ftp\repositorio\mdf\db2\dbas\*MES.TXT \\ftp\repositorio\mdf\db2\dbas\FTP_ADABAS\%year%\MES :: :: :: --------------------------------------------------------------------------------- :: ---- Movendo os arquivos ANO :: --------------------------------------------------------------------------------- :: :: move \\ftp\repositorio\mdf\db2\dbas\*ANO.TXT \\ftp\repositorio\mdf\db2\dbas\FTP_ADABAS\%year%\ANO :: :: :: --------------------------------------------------------------------------------- :: ---- Movendo os arquivos LEG :: --------------------------------------------------------------------------------- :: :: move \\ftp\repositorio\mdf\db2\dbas\*LEG.TXT \\ftp\repositorio\mdf\db2\dbas\FTP_ADABAS\%year%\LEG :: :: :: --------------------------------------------------------------------------------- :: ---- Movendo os arquivos HOL :: --------------------------------------------------------------------------------- :: :: move \\ftp\repositorio\mdf\db2\dbas\*HOL.TXT \\ftp\repositorio\mdf\db2\dbas\FTP_ADABAS\%year%\SHOC\SHOL :: :: :: --------------------------------------------------------------------------------- :: ---- Movendo os arquivos HOM :: --------------------------------------------------------------------------------- :: :: move \\ftp\repositorio\mdf\db2\dbas\*HOM.TXT \\ftp\repositorio\mdf\db2\dbas\FTP_ADABAS\%year%\SHOC\SHOM :: :: :: --------------------------------------------------------------------------------- :: ---- Movendo os arquivos HOC :: --------------------------------------------------------------------------------- :: :: move \\ftp\repositorio\mdf\db2\dbas\*HOC.TXT \\ftp\repositorio\mdf\db2\dbas\FTP_ADABAS\%year%\SHOC\SHOC :: :: :: --------------------------------------------------------------------------------- :: ---- Movendo os arquivos RESTANTE que sobrou :: --------------------------------------------------------------------------------- :: :: move \\ftp\repositorio\mdf\db2\dbas\*.TXT \\ftp\repositorio\mdf\db2\dbas\FTP_ADABAS\%year% :: :: endlocal : pause
Rodar Automaticamente
Para que seu arquivo bat rode ao acessar o seu windows, execute os passos a seguir: Pressione as teclas Windows+R, cole%appdata%\Microsoft\windows\start menu\programs\startupe clique em Ok. Em seguida cole sua batch neste diretório ou se preferir navegue manualmente conforme imagem abaixo: E cole o arquivo bat nesse diretório, todas as vezes que você logar no Windows vai executar esse arquivo movimentando os arquivos
0 comentários:
Enviar um comentário