Adiciona suporte condicional para a flag --ignore-failed-read no tar, permitindo tratamento adequado de avisos em backups
This commit is contained in:
parent
9450217cc2
commit
612ea0abe7
|
|
@ -462,15 +462,19 @@ class BackupService {
|
||||||
'echo "__DBKP_TAR_BEGIN__" 1>&2',
|
'echo "__DBKP_TAR_BEGIN__" 1>&2',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// --ignore-failed-read é extensão GNU tar — não existe no BusyBox tar (Alpine).
|
||||||
|
// Usar condicionalmente para evitar aborto silencioso com 0 bytes no arquivo.
|
||||||
|
const gnuFlags = hasGnuTar ? '--ignore-failed-read' : '';
|
||||||
|
|
||||||
// GNU tar: exit 0 = ok, exit 1 = avisos (arquivos mudaram, permissão negada), exit 2 = erro fatal.
|
// GNU tar: exit 0 = ok, exit 1 = avisos (arquivos mudaram, permissão negada), exit 2 = erro fatal.
|
||||||
// Aceitamos exit 1 como sucesso para não descartar archives válidos com avisos menores.
|
// Aceitamos exit 1 como sucesso para não descartar archives válidos com avisos menores.
|
||||||
if (backupScope === 'container') {
|
if (backupScope === 'container') {
|
||||||
tarParts.push(
|
tarParts.push(
|
||||||
`tar --ignore-failed-read ${tarIncrementalFlag} -czvf - -C / --exclude=proc --exclude=sys --exclude=dev --exclude=run --exclude=tmp .; TAR_RC=$?; [ $TAR_RC -le 1 ] || exit $TAR_RC`
|
`tar ${gnuFlags} ${tarIncrementalFlag} -czvf - -C / --exclude=proc --exclude=sys --exclude=dev --exclude=run --exclude=tmp .; TAR_RC=$?; [ $TAR_RC -le 1 ] || exit $TAR_RC`
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
tarParts.push(
|
tarParts.push(
|
||||||
`tar --ignore-failed-read ${tarIncrementalFlag} -czvf - -C / ${relSourcePaths.map((item) => shellQuote(item)).join(' ')}; TAR_RC=$?; [ $TAR_RC -le 1 ] || exit $TAR_RC`
|
`tar ${gnuFlags} ${tarIncrementalFlag} -czvf - -C / ${relSourcePaths.map((item) => shellQuote(item)).join(' ')}; TAR_RC=$?; [ $TAR_RC -le 1 ] || exit $TAR_RC`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue