A tarefa é preservar a saída do log mesmo que um aplicativo exclua o arquivo de log.
Ao criar um segundo nome para o arquivo de log com ln
, os dados no log estarão disponíveis sob dois nomes. Se um dos nomes for excluído, os dados ainda estarão disponíveis sob o outro nome.
Em um script:
log=/var/tmp/install.log
info=/tmp/info.log
ln -f "$log" "$info"
exec >"$log" 2>&1
Se $log
não existir anteriormente, você precisará criá-lo com touch "$log"
antes da chamada para ln
.
Isto assume que ambos os nomes residem no mesmo sistema de arquivos.
Esta resposta não supõe que você esteja usando bash
. Ele funcionará com qualquer shell sh
-compatible.