Eu quero fazer um backup tar do diretório cujo nome será variável

0

Eu estou tentando escrever um script de shell no qual eu quero fazer backup tar das pastas que são formadas diariamente.

Por exemplo, meu nome de diretório pai é "log" e sob este diretório um diretório será criado automaticamente diariamente e todo o diretório filho (que é formado diariamente) terá vários arquivos de log criados a cada hora.

Objetivo principal: Eu quero fazer backup tar do diretório filho (que são criados diariamente com o nome do diretório como 01, 02, 03, 04, ......, 31), mantendo os últimos 20 dias arquivos de log. Significa fora do diretório de 30 dias, o tar deve ser feito apenas nos primeiros 10 dias.

find /usr/local/aryan/2015/logs -iname ".log" -mtime +10 -exec tar -cvzf backup_1.tar.gz" "VARIABLE_FOLDER_NAME" '{}' \;

Por favor, ajude-me a substituir o "VARIABLE_FOLDER_NAME", que na verdade terá os nomes das pastas que serão criados diariamente.

Através do comando acima, ele encontrará todos os arquivos com extensão como .log e não serão modificados nos últimos 10 dias. Agora eu quero fazer backup de todas as pastas que contém arquivos com .log como extensão

    
por Aryan 30.07.2015 / 01:23

1 resposta

0

O nome da pasta foi criado ou você precisa criá-lo?

Se você estiver criando uma nova pasta a cada data, faça algo assim

VARIABLE_FOLDER_NAME='date '+%d''
mkdir -f $VARIABLE_FOLDER_NAME

A cada dia, ele criará uma pasta com o nome da data do mês.

Se você quiser o nome zero preenchido, tente algo como isto

DATE_OF_MONTH='date '+%d''
VARIABLE_FOLDER_NAME='printf "%02d" $DATE_OF_MONTH"

Tudo isso pode ser feito em uma linha como:

DATE_OF_MONTH='date '+%d''; VARIABLE_FOLDER_NAME='printf "%02d" $DATE_OF_MONTH"; find /usr/local/aryan/2015/logs -iname ".log" -mtime +10 -exec tar -cvzf backup_1.tar.gz "VARIABLE_FOLDER_NAME" '{}' \;

Você também pode ver o uso do xpath com o comando find para tornar o tar mais rápido.

Se a pasta já estiver criada, você só precisa descobrir como escolher qual deles.

    
por 30.07.2015 / 19:53