Copiar subdiretório presente em vários diretórios
Publicado por Caio Henrique Oliveira Rodrigues (última atualização em 18/05/2015)
[ Hits: 3.363 ]
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
PKG Sync v3.0 - Utilitário para backup de pacotes deb baixados - Versão final
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - BLOQUEAR IP
Montando sua máquina virtual para engenharia reversa em Linux
Gerador de PPP para USB (Palm OS e Pocket PC)
Barra de Progresso com Shell Script
Nenhum comentário foi encontrado.
Boas Práticas e Padrões Idiomáticos em Go e C
Vale a pena ter mais de uma interface grafica no seu Linux?
Estrutura e Funcionamento de um Ebuild no Gentoo Linux
[Resolvido] Google Chrome reclamando de perfil em uso após mudar hostname
Instalando o Tema de Ícones Tela Circle
Copiar Para e Mover Para no menu de contexto do Nautilus e Dolphin
Dotando o Thunar das opcoes Copiar para e Mover para no menu de contexto
Instalação Dual Boot Linux+Windows 11 (4)
No Ubuntu 26.04, sudo passou a mostrar os asteriscos ao digitar por pa... (5)
Como instalar Warsaw no Gentoo? (0)
Como insiro e excluo um elemento XML e JSON ao código Javascript (1)









