Acessar diretório, encontrar arquivos e pastas que teve ultimo [RESOLVIDO]

1. Acessar diretório, encontrar arquivos e pastas que teve ultimo [RESOLVIDO]

Diego Ferrari
dferrarijba

(usa Debian)

Enviado em 22/06/2020 - 10:58h

Bom dia, tenho um servidor de arquivos, sistema operacional Debian 9.11 e serviço samba compartilhando diretórios para funcionários da empresa.

Eu gostaria de localizar arquivos e diretórios neste servidor dentro de /disco1/dados/Publicas com mais de 30 dias do ultimo acesso, esse conteúdo encontrado mover para o diretório /disco2/dados/OBSOLETOS/ e claro registrar em log o conteúdo movido.

A intenção é limpar/mover do diretório /disco1/dados/Publicas arquivos pouco acessado, disponibilizando esses arquivos em outro disco menos utilizado, assim se precisar em algum momento tenho o conteúdo porem em lugar pouco acessado.

Pesquisando por aqui encontrei o comando abaixo que consigo deletar o conteúdo, mas não consegui mover ao invés de deletar.
find /disco1/dados/Publicas/ -atime +30 -exec rm -rf {} \;

atenciosamente,

Diego


  


2. Re: Acessar diretório, encontrar arquivos e pastas que teve ultimo [RESOLVIDO]

Diego Ferrari
dferrarijba

(usa Debian)

Enviado em 23/06/2020 - 16:02h

Boa tarde, consegui fazer um script com os comandos abaixo.... Para o meu caso atendeu a necessidade, assim compartilho caso alguém tenha a mesma situação.

#!/bin/bash
# ----------------- Variaveis ---------------------------------- #

OBSOLETOS="/disco1/dados/OBSOLETOS"
INICIO=`date +%d/%m/%Y-%H:%M:%S`
LOG=/var/log/obsoletos/FILES_$(date +%Y%m%d%H%M%m).log

# -------------------------------------------------------------- #
echo "|-----------------------------------------------|" >> $
echo "--> Verificando arquivos sem acesso a mais de 365 dias --> data atual $INICIO" >> $LOG
echo " " >> $LOG
echo "--> Localizando o diretorio `stat $OBSOLETOS` --> " >> $LOG
cd /disco1/dados/ >> $LOG
echo "--> Compactando a pasta Obsoletos!" >> $LOG
zip -r /disco2/dados/OBSOLETOS/obsoletos.`date +%Y-%m-%d`.zip OBSOLETOS >> $LOG
echo "--> Limpando diretorio OBSOLETOS" >> $LOG
rm -rvf OBSOLETOS/* >> $LOG
echo "Analisando diretorios a procura de dados sem acesso mais de 365 dias e movendo para pasta OBSOLETOS " >> $LOG
find /disco1/dados/Publicas/PASTA\ TEMPORARIA/ -atime +365 -exec mv -v {} /disco1/dados/OBSOLETOS/ \; >> $LOG
FINAL=`date +%d/%m/%Y-%H:%M:%S`
echo " --> Arquivos obsoletos movidos em $FINAL" >> $LOG
echo "|-----------------------------------------------|" >> $LOG
echo " " >> $LOG
echo 'Movendo arquivos obsoletos' | mutt -s 'Movendo arquivos obsoletos' -a $LOG -- i***ica@joacaba.unimedsc.com.br
# -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #
Eu primeiro compacto os arquivos da pasta /disco1/dados/obsoletos/ em um disco secundário com o nome obsoletos.DATA.zip
Depois eu limpo a pasta /disco1/dados/obsoletos/
Em seguida o find localiza o que tiver ultimo acesso mais de 365 dias na pasta /disco1/dados/Publicas/PASTA\ TEMPORARIA/ e move para o diretório /disco1/dados/obsoletos/.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts