Copiar subdiretório presente em vários diretórios
Publicado por Caio Henrique Oliveira Rodrigues (última atualização em 18/05/2015)
[ Hits: 3.278 ]
Essa dica de copiar subdiretório surgiu quando me pediram para enviar um relatório do ano inteiro especificando apenas um usuário.
O Sarg gera diariamente com todos os usuários, minha estrutura do Sarg é assim: /var/www/sarg/2015May14-2015May14/usuárioX/
Para não ter que entrar diretório por diretório para copiar os logs do usuárioX decidi criar esse script, que copia todos os logs apenas do usuárioX sem alterar a estrutura dos diretórios.
Já vi algumas pessoas com essa mesma necessidade.
Sou iniciante ainda no mundo Linux, se tiver alguma coisa que possa melhorar comentem aí, enfim, segue abaixo o script.
#!/bin/bash
USUARIO=usuarioX # especefica qual usuario ou ip você quer copiar os logs de acesso
TMP=/tmp/temp.txt
DIR=/tmp/listas
SARG=/var/www/sarg
# faz a busca de todos os diretórios que contem os dias acessados do usuário espeficiado e armazena no em um arquivo temporario
find $SARG -name $USUARIO -type d > $TMP
#Identifica quantas linhas o arquivo temporario possui para para que possa fazer estrutura de repetição
QTLINHA=$(wc -l $TMP | awk '{ print $1 }')
echo $QTLINHA #Mostra quantos subdiretórios serão copiados
a=1
#ira entrar dentro desse while e copiar o diretório correspondente, percorrendo linha por linha
while [ $a -lt $QTLINHA ];
do
COPIA=$(cat $TMP | head -n $a | tail -n 1) #Armazena o diretório a ser criado com a linha correspondente
mkdir -p $DIR$COPIA #Cria a estrutura de diretório corresponde a cada linha
#Entra e volta um nível de diretório para que nao duplique o subdiretorio
cd $DIR$COPIA
cd ..
#Copia a pasta do usuário especificado
cp -Rap $COPIA .
let a=$a+1
done #finaliza while
rm -Rf $TMP
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Como fazer a instalação do Samba
Como fazer a conversão binária e aplicar as restrições no Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (19)
Formas seguras de instalar Debian Sid (13)
Malware encontrado em extensões do Firefox. (0)
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









