[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Restaurar Correos de un backup Maildir comprimido



Luis Rodrigo Gallardo Cruz:


En ese Maildir deposito todos los correos entrantes de TODOS
los usuarios.

Con la opcion del postfix, /etc/postfix/main.cf:

recipient_bcc_maps = hash:/etc/postfix/recipient_bcc

# Contenido de # /etc/postfix/recipient_bcc
user1@domain.tlc backup@domain.tlc
user_3@domain.tlc backup@domain.tlc
user_yo@domain.tlc backup@domain.tlc


/home/backups/Maildir/new/11118888.3454737.domain.tlc
//Este contiene for <user1@domain.tlc>
/home/backups/Maildir/new/11345345.3734545.domain.tlc
//Este contiene for <user_3@domain.tlc>
/home/backups/Maildir/new/13453458.3734435.domain.tlc
//Este contiene for <user_yo@domain.tlc>

Al hacer:
=========

# zcat backup.tar.gz | grep -a user_3

Me devuelve las filas del archivo que contienen
for <user_3@domain..tlc> from:<user@yahoo.com>

Mas no el nombre del archivo que es lo que se quiere.

# zcat backup.tar.gz | tar -t

Devuelve toda la lista de archivos es decir:
11118888.3454737.domain.tlc
11345345.3734545.domain.tlc
13453458.3734435.domain.tlc

Lo que deseo es lo siguiente

# zcat backup.tar.gz | tar -t | grep -a user_3
y me devuelva:
11345345.3734545.domain.tlc

Para extraer solo ese archivo.

Pero al parecer grep no busca dentro de los archivos.


He modificando las opciones de grep -a -l -V, nada:

Salida Standar, No se puede leer cabeceras de archivo
binario,
tar: Read 5849 bytes from -
tar: Esto no parece un archivo tar
tar: Saltando a la siguiente cabecera
tar: -: No se encuentra en el archivo
tar: Salida con error demorada desde errores anteriores

etc, etc





On Fri, Mar 23, 2007 at 06:29:54PM -0500, Renzo Portocarrero wrote:
# zcat backup50GB.tar.gz | tar -tf - | xargs grep -al user  // retorna
cero files.

Que fue generado por:

tar cvfz bigfile50GB.tar.gz  /home/backups/Maildir/

No entiendo muy bien que quieres obtener. tar -t regresa la lista de nombres de archivo contenidos en el tar. Supongamos que el resultado es (por poner un ejemplo)
 archivo1
 dir1
 dir1/archivo2
entonces
 | xargs grep user
es equivalente a
 grep user archivo1 dir1 dir1/archivo2
lo cual va a intentar hacer un grep sobre esos archivos *buscandolos
en el sistema de archivos,* no dentro del tar

Si lo que quieres es sacar la lista de los archivos cuyo nombre
contiene 'user', quita el xargs de ahí.

Si lo que quieres es sacar del tar el archivo que se llama 'user'
utiliza
 tar -xf - user
en este caso, toma en cuenta que tar busca el nombre completo, no
fragmentos, así que probablemente tienes que decir más bien algo como
 tar -xf - home/backups/Maildir/user




Reply to: