Você quer criar um arquivo tar longe do local onde os arquivos que você precisa para residir?
Existem muitas maneiras de fazer isso.
Se for criado localmente (= na mesma máquina):
tar czvf /path/to/destination/newfile.tar.gz ./SOURCEDIR_OR_FILES
Você pode adicionar arquivos ou diretórios adicionais ao tar no final desse comando.
Se for criado remotamente (ou seja, você deseja criar o arquivo tar em um host remoto daquele que contém os dados a serem tarados):
tar czvf - ./SOURCEDIR_OR_FILES | ssh user@host 'cat > newfile.tar.gz'
A versão posterior é muito versátil. Por exemplo, você também pode "duplicar" um diretório + subdiretórios usando a mesma técnica:
Duplique um diretório + subdiretórios para outro diretório local:
tar cf - ./SOURCEDIR_OR_FILES | ( cd LOCAL_DEST_DIR && tar xvf - )
Duplique um diretório + subdiretórios para outro diretório remoto:
tar cvf - ./SOURCEDIR_OR_FILES | ssh user@host 'cd REMOTE_DEST_DIR && tar xf - '
Solte o 'v' se você não precisar dele para mostrar os arquivos enquanto eles estão tar (ou não): ele irá muito mais rápido, mas não vai dizer muito a menos que haja um erro.
Eu uso ". / ..." para a fonte forçar o tar a armazená-lo como um caminho RELATIVO. Em alguns casos, você desejará adicionar informações adicionais do caminho:
Por exemplo, para tar os arquivos crontab, incluindo o em / etc, você poderia fazer:
cd / ; tar czf all_crons.tgz ./etc/*cron* ./var/spool/cron
Eu uso propositalmente o caminho relativo: algumas versões antigas do tar podem ser perigosas e extrair arquivos com seu caminho GLOBAL original, o que significa que você poderia fazer: cd /safedir ; tar xvf sometar
e ter os arquivos com nomes globais sobrescrevendo arquivos em seu caminho original que é FORA de / safedir e não por baixo! Muito perigoso e ainda possível, pois há servidores de produção antigos por aí. É melhor ser usado para usar caminhos relativos o tempo todo, mesmo se você usar um tar mais recente.