mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-19 06:30:10 +08:00
feat(backup): add debug logs and simplify S3 filename logic
This commit is contained in:
parent
980f20fcca
commit
c319a4f4d0
@ -617,13 +617,8 @@ class BackupManager {
|
||||
}
|
||||
|
||||
async backupToS3(_: Electron.IpcMainInvokeEvent, data: string, s3Config: S3Config) {
|
||||
const os = require('os')
|
||||
const deviceName = os.hostname ? os.hostname() : 'device'
|
||||
const timestamp = new Date()
|
||||
.toISOString()
|
||||
.replace(/[-:T.Z]/g, '')
|
||||
.slice(0, 14)
|
||||
const filename = s3Config.fileName || `cherry-studio.backup.${deviceName}.${timestamp}.zip`
|
||||
// Use the filename provided by frontend, or a simple default (no timestamp generation here)
|
||||
const filename = s3Config.fileName || 'cherry-studio.backup.zip'
|
||||
|
||||
logger.debug(`Starting S3 backup to ${filename}`)
|
||||
|
||||
|
||||
@ -197,10 +197,15 @@ export async function backupToWebdav({
|
||||
let finalFileName: string
|
||||
|
||||
// 覆盖式单文件备份(仅在自动备份流程且保留份数=1时生效)
|
||||
logger.debug(
|
||||
`[WebDAV Backup] Overwrite check: autoBackupProcess=${autoBackupProcess}, maxBackups=${webdavMaxBackups}, singleFileOverwrite=${webdavSingleFileOverwrite}`
|
||||
)
|
||||
if (autoBackupProcess && webdavMaxBackups === 1 && webdavSingleFileOverwrite) {
|
||||
finalFileName = generateOverwriteFilename(webdavSingleFileName, hostname, deviceType)
|
||||
logger.debug(`[WebDAV Backup] Using overwrite filename: ${finalFileName}`)
|
||||
} else {
|
||||
finalFileName = generateTimestampedFilename(customFileName, hostname, deviceType, timestamp)
|
||||
logger.debug(`[WebDAV Backup] Using timestamped filename: ${finalFileName}`)
|
||||
}
|
||||
const backupData = await getBackupData()
|
||||
|
||||
@ -377,10 +382,15 @@ export async function backupToS3({
|
||||
let finalFileName: string
|
||||
|
||||
// 覆盖式单文件备份(仅在自动备份流程且保留份数=1时生效)
|
||||
logger.debug(
|
||||
`[S3 Backup] Overwrite check: autoBackupProcess=${autoBackupProcess}, maxBackups=${s3Config.maxBackups}, singleFileOverwrite=${s3Config.singleFileOverwrite}`
|
||||
)
|
||||
if (autoBackupProcess && s3Config.maxBackups === 1 && s3Config.singleFileOverwrite) {
|
||||
finalFileName = generateOverwriteFilename(s3Config.singleFileName, hostname, deviceType)
|
||||
logger.debug(`[S3 Backup] Using overwrite filename: ${finalFileName}`)
|
||||
} else {
|
||||
finalFileName = generateTimestampedFilename(customFileName, hostname, deviceType, timestamp)
|
||||
logger.debug(`[S3 Backup] Using timestamped filename: ${finalFileName}`)
|
||||
}
|
||||
const backupData = await getBackupData()
|
||||
|
||||
@ -987,10 +997,15 @@ export async function backupToLocal({
|
||||
let finalFileName: string
|
||||
|
||||
// 覆盖式单文件备份(仅在自动备份流程且保留份数=1时生效)
|
||||
logger.debug(
|
||||
`[Local Backup] Overwrite check: autoBackupProcess=${autoBackupProcess}, maxBackups=${localBackupMaxBackups}, singleFileOverwrite=${localSingleFileOverwrite}`
|
||||
)
|
||||
if (autoBackupProcess && localBackupMaxBackups === 1 && localSingleFileOverwrite) {
|
||||
finalFileName = generateOverwriteFilename(localSingleFileName, hostname, deviceType)
|
||||
logger.debug(`[Local Backup] Using overwrite filename: ${finalFileName}`)
|
||||
} else {
|
||||
finalFileName = generateTimestampedFilename(customFileName, hostname, deviceType, timestamp)
|
||||
logger.debug(`[Local Backup] Using timestamped filename: ${finalFileName}`)
|
||||
}
|
||||
const backupData = await getBackupData()
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user