diff --git a/src/backupformat/rsync.js b/src/backupformat/rsync.js index 63947e8da..8b00d3ebd 100644 --- a/src/backupformat/rsync.js +++ b/src/backupformat/rsync.js @@ -357,16 +357,25 @@ async function verify(backupSite, remotePath, integrityMap, progressCallback) { const relativePath = path.relative(remotePath, entry.path); const integrity = integrityMap.get(relativePath); - debug(`verify: computed integrity of ${entry.path} as ${JSON.stringify(result)}`); - if (result.transferred !== integrity.size) messages.push(`${entry.path} has size ${result.transferred}. Expecting ${integrity.size}`); - else if (result.digest !== integrity.sha256) messages.push(`${entry.path} has digest ${result.digest()}. Expecting ${integrity.sha256}`); + if (result.transferred !== integrity.size) { + messages.push(`${entry.path} has size ${result.transferred}. Expecting ${integrity.size}`); + debug(`verify: size check of ${entry.path} failed: ${messages.at(-1)}`); + } else if (result.digest !== integrity.sha256) { + messages.push(`${entry.path} has digest ${result.digest()}. Expecting ${integrity.sha256}`); + debug(`verify: digest check of ${entry.path} failed: ${messages.at(-1)}`); + } else { + debug(`verify: ${entry.path} passed`); + } }); fileCount += batch.entries.length; if (!batch.marker) break; marker = batch.marker; } - if (integrityMap.size !== fileCount) messages.push(`Got ${fileCount} files. Expecting ${integrityMap.size()} files`); + if (integrityMap.size !== fileCount) { + messages.push(`Got ${fileCount} files. Expecting ${integrityMap.size()} files`); + debug(`verify: file count mismatch: ${messages.at(-1)}`); + } return messages; } diff --git a/src/backupintegrity.js b/src/backupintegrity.js index 05f8f1f02..2e791ec4f 100644 --- a/src/backupintegrity.js +++ b/src/backupintegrity.js @@ -47,7 +47,7 @@ async function verify(backup, backupSite, progressCallback) { if (verifyError) messages.push(`Failed to verify ${backup.remotePath}: ${verifyError.message}`); if (verifyMessages) messages.push(...verifyMessages); - debug(`verified: ${backup.remotePath} ${JSON.stringify(verifyMessages, null, 4)}`); + debug(`verified: ${backup.remotePath} ${JSON.stringify(messages, null, 4)}`); stats.duration = Date.now() - stats.startTime; return { stats, messages: messages.slice(0, 50) }; // keep rsync fails to 50 to not overflow db