@@ -203,12 +203,12 @@ internal abstract class AbstractBackupService : AbstractMediumService() {
203203
204204 override suspend fun onProcessing () {
205205 mTaskEntity.update(rawBytes = mTaskRepo.getRawBytes(TaskType .MEDIA ), availableBytes = mTaskRepo.getAvailableBytes(OpType .BACKUP ), totalBytes = mTaskRepo.getTotalBytes(OpType .BACKUP ), totalCount = mMediaEntities.size)
206- log { " Task count: ${mMediaEntities.size} ." }
206+ Log .d(mTAG, " Task count: ${mMediaEntities.size} ." )
207207
208208 for (index in mMediaEntities.indices) {
209209 // 1. 循环开始时检查取消标志
210210 if (isCanceled()) {
211- log { " Backup canceled by user at media index: $index " }
211+ Log .d(mTAG, " Backup canceled by user at media index: $index " )
212212 break // 直接退出循环
213213 }
214214
@@ -222,7 +222,7 @@ internal abstract class AbstractBackupService : AbstractMediumService() {
222222 mMediaEntities.size,
223223 index
224224 )
225- log { " Current media: ${media.mediaEntity} " }
225+ Log .d(mTAG, " Current media: ${media.mediaEntity} " )
226226
227227 media.update(state = OperationState .PROCESSING )
228228 val m = media.mediaEntity
@@ -250,21 +250,33 @@ internal abstract class AbstractBackupService : AbstractMediumService() {
250250 mMediaDao.upsert(restoreEntity)
251251 mMediaDao.upsert(m)
252252 media.update(mediaEntity = m)
253- // 新增:在配置文件创建后执行Restic备份
254- val compressedFile = findCompressedFile(dstDir)
255- if (compressedFile != null ) {
256- Log .d(" ResticFlow" , " 配置文件创建后开始Restic备份: ${m.name} " )
257- val resticSuccess = backupWithRestic(m.name, compressedFile)
258- Log .d(" ResticFlow" , " Restic备份结果: $resticSuccess " )
253+
254+ // 新增:双文件Restic备份
255+ val tarFile = File (" $dstDir /media.tar" )
256+ val configFile = File (" $dstDir /media_restore_config.json" )
257+
258+ if (tarFile.exists() && configFile.exists()) {
259+ Log .d(" ResticFlow" , " 两个文件都存在,开始Restic备份: ${m.name} " )
260+
261+ // 备份tar文件
262+ val tarSuccess = backupWithRestic(" ${m.name} -media" , tarFile)
263+ Log .d(" ResticFlow" , " tar文件Restic备份结果: $tarSuccess " )
264+
265+ // 备份配置文件
266+ val configSuccess = backupWithRestic(" ${m.name} -config" , configFile)
267+ Log .d(" ResticFlow" , " 配置文件Restic备份结果: $configSuccess " )
268+ } else {
269+ Log .d(" ResticFlow" , " 文件缺失,跳过Restic备份" )
259270 }
271+
260272 mTaskEntity.update(successCount = mTaskEntity.successCount + 1 )
261273 } else {
262274 // 备份失败,清理已上传的文件
263- log { " Backup failed for ${m.name} , cleaning up remote files..." }
275+ Log .d(mTAG, " Backup failed for ${m.name} , cleaning up remote files..." )
264276 runCatching {
265277 onCleanupFailedBackup(archivesRelativeDir = m.archivesRelativeDir)
266278 }.onFailure { e ->
267- log { " Failed to cleanup remote files: ${e.message} " }
279+ Log .e(mTAG, " Failed to cleanup remote files: ${e.message} " )
268280 }
269281 mTaskEntity.update(failureCount = mTaskEntity.failureCount + 1 )
270282 }
@@ -277,7 +289,7 @@ internal abstract class AbstractBackupService : AbstractMediumService() {
277289
278290 // 2. 备份完成后检查取消标志(在保存配置前)
279291 if (isCanceled()) {
280- log { " Backup canceled after media backup, skipping remaining items" }
292+ Log .d(mTAG, " Backup canceled after media backup, skipping remaining items" )
281293 break // 退出循环
282294 }
283295
0 commit comments