Alguma LUZ porfavor

1. Alguma LUZ porfavor

João Paulo Carneiro
jptudobem

(usa Debian)

Enviado em 28/02/2011 - 12:39h

Seguinte,

tenho um script de backup que cria uma árvore de diretórios de acordo com a data de criaçao dos arquivos. Até ai tudo bem, porém, não consigo compactar todos arquivos em um único aquivo, só consigo compactar cada um deles separadamente... Segue o pedaço do script que faz isso:

for ARQS in $1; do
gzip -c $DIR_NFE/$ARQS > $DIR_NFE/$DIR_BKP/$ANO_NFE_LIT/$MES_NFE_LIT/$DIA_NFE_LIT/$ARQS.gz
done

Dessa forma, ele copia cada arquivo para o diretorio correpondente já compactado. Porém, não quero compactar cada arquivo, quero compactar todos em um único.

Help-me!


  


2. Re: Alguma LUZ porfavor

José Mário
miura 787

(usa Ubuntu)

Enviado em 28/02/2011 - 12:44h

Pq vc não manda os arquivos escolhidos para uma pasta e depois compacta toda a pasta?


3. Re: Alguma LUZ porfavor

João Paulo Carneiro
jptudobem

(usa Debian)

Enviado em 28/02/2011 - 13:01h

Poderia até ser, mas não. Tem que compactar os arquivos de cada pasta em um único.


4. Re: Alguma LUZ porfavor

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 01/03/2011 - 20:23h

E se vc usar o TAR? Não ajuda?


5. [OffTopic]

Eduardo Paim Silveira
eduardo

(usa Linux Mint)

Enviado em 01/03/2011 - 20:27h

Amigo, escolha melhor o seu título de postagem. Entrei no tópico e infelizmente não posso lhe ajudar.
Colocando o seu problema no título, você auxilia a comunidade e você tem seu retorno mais rapidamente.

Qualquer coisa, leia esse artigo: http://vivaolinux.com.br/artigo/HELP-Como-solicitar-auxilio-em-comunidades-%28como-o-VOL%29-e-foruns...


Entenda isso apenas como uma forma de melhorar o auxilio da comunidade.

Abraços


6. Re: Alguma LUZ porfavor

Willian
ThePinkShark

(usa Slackware)

Enviado em 01/03/2011 - 23:10h

A luz http://en.wikipedia.org/wiki/File:Light_shining2.JPG

tentou usar a opção -r ? acho que ela é justamente pra isso.


7. Re: Alguma LUZ porfavor

João Paulo Carneiro
jptudobem

(usa Debian)

Enviado em 02/03/2011 - 10:02h

Não deu certo.

Tenho vários arquivos em um diretório, arquivos de vários anos, meses, dias, todos misturados. Esse script organiza esses arquivos no seguinte formato:

Backup/2009/Dezembro/21/*
Backup/2009/Dezembro/22/*
Backup/2009/Dezembro/23/*
Backup/2010/Janeiro/23/*
Backup/2010/Janeiro/24/*

E assim por diante.. os arquivos estão separados por ano/mes/dia. O Script joga os arquivos para o diretorio correspondente ja compactando.
Acontece que da forma que tá, está compactando arquivo por arquivo, e não todo em um único. Segue o Script completo:

#!/bin/bash

DIAS_RET=`date --date "1 month ago" +%Y%m%d`
DIR_NFE=/home/tmpnfe
DIR_BKP=Backup

for NFES in `ls -l --time-style=long-iso --sort=time $DIR_NFE | awk '{print $6 "->" $8}'`; do

DIA_NFE=`echo ${NFES} | cut -f3 -d"-"`
MES_NFE=`echo ${NFES} | cut -f2 -d"-"`
ANO_NFE=`echo ${NFES} | cut -f1 -d"-"`
NOM_NFE=`echo ${NFES} | cut -f2 -d">"`
DATA_FULL_NFE=$ANO_NFE$MES_NFE$DIA_NFE

cria_dir_ano () {
if [ -n $1 ]; then
ANO_NFE_LIT=`date --date "$1" +%Y`
echo "Criando Diretorio" >/dev/null
mkdir -p $DIR_NFE/$DIR_BKP/$ANO_NFE_LIT
fi
}

cria_subdir_mes () {
if [ -n $1 ]; then
MES_NFE_LIT=`date --date "$1" +%b`
echo "Criando Subiretorio" >/dev/null
mkdir -p $DIR_NFE/$DIR_BKP/$ANO_NFE_LIT/$MES_NFE_LIT
fi
}

cria_subdir_dia () {
if [ -n $1 ]; then
DIA_NFE_LIT=`date --date "$1" +%d`
echo "Criando Subiretorio" >/dev/null
mkdir -p $DIR_NFE/$DIR_BKP/$ANO_NFE_LIT/$MES_NFE_LIT/$DIA_NFE_LIT
fi
}

copy () {
for ARQS in $1; do
gzip -c $DIR_NFE/$ARQS > $DIR_NFE/$DIR_BKP/$ANO_NFE_LIT/$MES_NFE_LIT/$DIA_NFE_LIT/$ARQS.gz
if [ $? -eq 0 ]; then
rm $DIR_NFE/$ARQS
fi
done
}

if [ $DATA_FULL_NFE -lt $DIAS_RET ]; then
cria_dir_ano $ANO_NFE$MES_NFE$DIA_NFE
cria_subdir_mes $ANO_NFE$MES_NFE$DIA_NFE
cria_subdir_dia $ANO_NFE$MES_NFE$DIA_NFE
copy $NOM_NFE
fi
done


8. Re: Alguma LUZ porfavor

Willian
ThePinkShark

(usa Slackware)

Enviado em 02/03/2011 - 10:20h

tentou usar o -r ? Existe também a opção de usar o comando tar.
man bzip
bzip --help
tar --help
man tar


9. Re: Alguma LUZ porfavor

João Paulo Carneiro
jptudobem

(usa Debian)

Enviado em 02/03/2011 - 10:27h

Obrigado pela ajuda, mas mesmo assim não da certo. Tentei o -r e ele na verdade significa compactar recursivamente, vc indica o diretorio ao inves dos arquivos, mas a compactaçao é feita da mesma forma.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts