Compartilhando conhecimento com o mundo

Com tecnologia do Blogger.

Pesquisa

Download

Blogger Tricks

Blogger Themes

Visitas

Assuntos

1/12/2024

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.TXT
Ao 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\startup
e 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