Os códigos de saída de tar são documentados no manual "info" - use info tar
para ler tudo sobre o tar. (Você pode ler sobre "info" com info info
). Parece que há 3 (principais) códigos de saída. Da documentação info tar
:
Possible exit codes of GNU 'tar' are summarized in the following
table:
0
'Successful termination'.
1
'Some files differ'. If tar was invoked with '--compare'
('--diff', '-d') command line option, this means that some files in
the archive differ from their disk counterparts (*note compare::).
If tar was given '--create', '--append' or '--update' option, this
exit code means that some files were changed while being archived
and so the resulting archive does not contain the exact copy of the
file set.
2
'Fatal error'. This means that some fatal, unrecoverable error
occurred.
If 'tar' has invoked a subprocess and that subprocess exited with a
nonzero exit code, 'tar' exits with that code as well. This can happen,
for example, if 'tar' was given some compression option (*note gzip::)
and the external compressor program failed. Another example is 'rmt'
failure during backup to the remote device (*note Remote Tape Server::).
Se você gostaria de ter apenas uma mensagem de sucesso ou falha de sua escolha, recomendo o seguinte:
tar zcf /home/username/filename.tar.gz -C / var/www/website/ >/dev/null 2>&1
case $? in
0)
printf "Complete Success\n"
;;
1)
printf "Partial Success - some files changed\n"
;;
*)
printf "Disaster - tar exit code $?\n"
;;
esac
Esta invocação de tar pipes, tanto a saída padrão e erro para / dev / null, a.k.a. o caçamba de bits. Em seguida, o parâmetro especial, $?
, que mantém o status de saída do pipeline de primeiro plano executado mais recentemente, é analisado pela instrução case
para gerar a mensagem relevante.