O que está acontecendo com o meu script TAR?

6

Isso pode ser melhor no StackExchange, mas eu uso o Ubuntu como meu servidor de arquivos.

Estou tentando usar tar e gzip para fazer backup apenas dos últimos 6 meses de alterações no meu servidor de arquivos e não está funcionando. Não gzip nada, ele coloca o arquivo tar no mesmo diretório que o script (não o que eu quero), e ele muda o nome do arquivo para parte da string tar.

Aqui está o script:

#!/bin/bash


tod=$(date +%F_%H%M%S)
echo "start"
echo $tod

echo "testing tar, only the last 6 months"
tar -cvf--newer-mtime=08-11-2013 /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar /homedepot/yellowsolo/xz/official/official /homedepot/yellowsolo/xz/home/home

echo "now zipping"
gzip /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar.gz

echo $tod
echo "done"
exit

Obrigado antecipadamente

    
por troylatroy 18.02.2014 / 18:52

2 respostas

7

Tente:

#!/bin/bash
tod=$(date +%F_%H%M%S)
echo "Start"
echo $tod

echo "testing tar, only the last 6 months"
tar --newer-mtime=20130811 -cvzf /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar /homedepot/yellowsolo/xz/official/official /homedepot/yellowsolo/xz/home/home

echo "Done"
exit

Limpei os erros no comando tar - você precisa ter a opção f antes do nome do arquivo e filtrá-lo pelo gzip (a opção z ).

    
por Wilf 18.02.2014 / 19:02
2

Primeiro, você tentou criar um arquivo .tar . Além do erro de sintaxe, o bodhi.zazen já apontou que o nome do arquivo tar deve vir logo após a opção -f . Como Wilf corretamente apontou em sua resposta.

tar --newer-mtime=08-11-2013 -cvf /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar /homedepot/yellowsolo/xz/official/official /homedepot/yellowsolo/xz/home/home

Em seguida, há outro erro. Você está indo para gzip /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar.gz , mas esse arquivo não existe.

Em vez disso, você tem um arquivo /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar

Você deve usar

gzip /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar

Ele criará /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar.gz .

Nota:

Você pode fazer isso diretamente,

tar --newer-mtime=08-11-2013 -cvzf /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar.gz /homedepot/yellowsolo/xz/official/official /homedepot/yellowsolo/xz/home/home

-z troca o zip tar simultaneamente.

    
por souravc 18.02.2014 / 19:23

Tags