修复备份恢复演练校验
This commit is contained in:
@@ -417,23 +417,10 @@ async function downloadToStdout(storage: ObjectStorage, args: BackupCliArgs): Pr
|
||||
const tempPath = path.join('/tmp', `order-site-backup-${process.pid}-${Date.now()}.dump`)
|
||||
let size = 0
|
||||
try {
|
||||
const output = fs.createWriteStream(tempPath, { mode: 0o600 })
|
||||
for await (const chunk of stored.reader) {
|
||||
const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk)
|
||||
hash.update(buffer)
|
||||
size += buffer.length
|
||||
if (!output.write(buffer)) {
|
||||
await new Promise<void>((resolve, reject) => {
|
||||
output.once('drain', resolve)
|
||||
output.once('error', reject)
|
||||
})
|
||||
}
|
||||
}
|
||||
await new Promise<void>((resolve, reject) => {
|
||||
output.once('close', resolve)
|
||||
output.once('error', reject)
|
||||
output.end()
|
||||
const hashingStream = new HashingStream(hash, (chunkSize) => {
|
||||
size += chunkSize
|
||||
})
|
||||
await pipeline(stored.reader, hashingStream, fs.createWriteStream(tempPath, { mode: 0o600 }))
|
||||
|
||||
const sha256 = hash.digest('hex')
|
||||
const manifest = await readManifest(storage, args.key)
|
||||
|
||||
Reference in New Issue
Block a user