Solução mais fácil: crie um script de shell com
#/bin/sh
tar -zcf archive.tar.gz.tmp mydir
mv archive.tar.gz.tmp archive.tar.gz
E use nohup myscript
. Possivelmente com alguma documentação extra no script.
(Sim, sou um otário para a documentação. Especialmente quando trabalho com várias pessoas ou quando você pode um dia deixar o trabalho e seu sucessor precisa descobrir o porquê ".)
Uma alternativa pode ser iniciar um novo shell para uma subtarefa (nesse caso, seu tar e mover)
nohup '$ (tar -zcf arquivo.tar.gz.tmp mydir; mv arquivo.tar.gz.tmp arquivo.tar.gz)
Alternativa 2:
nohup '' 'tar -zcf archive.tar.gz.tmp mydir; mv archive.tar.gz.tmp archive.tar.gz '' '.
Eu realmente prefiro o roteiro embora. Os comentários podem ser bastante úteis quando você ou alguém olha para o script em alguns anos e se pergunta por que isso foi feito dessa maneira.
Em uma nota não relacionada: Como diabos eu postei um anser com um backtick nele? (O comando para um shell 'usar este comando; alimentar a saída para outro comando como entrada').