fix: Fix the problem of uploaded backup files being deleted after res… (#10299)

…toration
This commit is contained in:
ssongliu 2025-09-08 17:57:46 +08:00 committed by GitHub
parent b428e699db
commit 6f0673f184
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 18 additions and 14 deletions

View file

@ -456,9 +456,13 @@ func uploadWithMap(taskItem task.Task, accountMap map[string]backupClientHelper,
taskItem.LogFailed(i18n.GetMsgWithDetail("LoadBackupFailed", itemBackup.message))
continue
}
name := itemBackup.name
if itemBackup.name == "localhost" {
name = i18n.GetMsgByKey("Localhost")
}
taskItem.LogStart(i18n.GetMsgWithMap("UploadFile", map[string]interface{}{
"file": path.Join(itemBackup.backupPath, dst),
"backup": itemBackup.name,
"backup": name,
}))
for i := 0; i < int(retry); i++ {
_, err := itemBackup.client.Upload(src, path.Join(itemBackup.backupPath, dst))

View file

@ -64,7 +64,6 @@ func (u *BackupService) MysqlRecoverByUpload(req dto.CommonRecover) error {
return err
}
req.File = recoveFile
defer os.RemoveAll(path.Dir(recoveFile))
if err := handleMysqlRecover(req, nil, false, req.TaskID); err != nil {
return err
}

View file

@ -62,7 +62,6 @@ func (u *BackupService) PostgresqlRecoverByUpload(req dto.CommonRecover) error {
return err
}
req.File = recoveFile
defer os.RemoveAll(path.Dir(recoveFile))
if err := handlePostgresqlRecover(req, nil, false); err != nil {
return err
}

View file

@ -711,12 +711,6 @@ func (u *ContainerService) ContainerUpdate(req dto.ContainerOperate) error {
return err
}
if len(oldContainer.Config.Entrypoint) != 0 {
if oldContainer.Config.Entrypoint[0] == "/docker-entrypoint.sh" {
oldContainer.Config.Entrypoint = []string{}
}
}
taskItem, err := task.NewTaskWithOps(req.Name, task.TaskUpdate, task.TaskScopeContainer, req.TaskID, 1)
if err != nil {
global.LOG.Errorf("new task for create container failed, err: %v", err)
@ -809,7 +803,6 @@ func (u *ContainerService) ContainerUpgrade(req dto.ContainerUpgrade) error {
}, nil)
taskItem.AddSubTask(i18n.GetWithName("ContainerCreate", item), func(t *task.Task) error {
oldContainer.Config.Cmd = nil
config := oldContainer.Config
config.Image = req.Image
hostConf := oldContainer.HostConfig

View file

@ -37,6 +37,7 @@ ErrGroupIsDefault: 'Default group, cannot be deleted'
ErrGroupIsInWebsiteUse: 'The group is being used by another website and cannot be deleted.'
#backup
Localhost: 'Local Machine'
ErrBackupInUsed: 'The backup account has been used in the scheduled task and cannot be deleted.'
ErrBackupCheck: 'Backup account test connection failed {{ .err }}'
ErrBackupLocalDelete: 'Deleting the local server backup account is not supported yet'

View file

@ -37,6 +37,7 @@ ErrGroupIsDefault: 'デフォルト グループ、削除できません'
ErrGroupIsInWebsiteUse: 'グループは別の Web サイトで使用されているため、削除できません。'
#backup
Localhost: 'ローカルマシン'
ErrBackupInUsed: 'バックアップ アカウントはスケジュールされたタスクで使用されているため、削除できません。'
ErrBackupCheck: 'バックアップ アカウントのテスト接続に失敗しました {{ .err }}'
ErrBackupLocalDelete: 'ローカル サーバーのバックアップ アカウントの削除はまだサポートされていません'

View file

@ -37,6 +37,7 @@ ErrGroupIsDefault: '기본 그룹, 삭제할 수 없습니다'
ErrGroupIsInWebsiteUse: '그룹이 다른 웹사이트에서 사용 중이므로 삭제할 수 없습니다.'
#지원
Localhost: '로컬 머신'
ErrBackupInUsed: '백업 계정이 예약된 작업에 사용되었으므로 삭제할 수 없습니다.'
ErrBackupCheck: '백업 계정 테스트 연결에 실패했습니다 {{ .err }}'
ErrBackupLocalDelete: '로컬 서버 백업 계정 삭제는 아직 지원되지 않습니다.'

View file

@ -40,6 +40,7 @@ ErrGroupIsDefault: 'Kumpulan lalai, tidak boleh dipadamkan'
ErrGroupIsInWebsiteUse: 'Kumpulan sedang digunakan oleh tapak web lain dan tidak boleh dipadamkan.'
#sandaran
Localhost: 'Mesin Tempatan'
ErrBackupInUsed: 'Akaun sandaran telah digunakan dalam tugas yang dijadualkan dan tidak boleh dipadamkan.'
ErrBackupCheck: 'Sambungan ujian akaun sandaran gagal {{ .err }}'
ErrBackupLocalDelete: 'Memadam akaun sandaran pelayan tempatan belum disokong lagi'

View file

@ -40,6 +40,7 @@ ErrGroupIsDefault: 'Grupo padrão, não pode ser excluído'
ErrGroupIsInWebsiteUse: 'O grupo está sendo usado por outro site e não pode ser excluído.'
#backup
Localhost: 'Máquina Local'
ErrBackupInUsed: 'A conta de backup foi usada na tarefa agendada e não pode ser excluída.'
ErrBackupCheck: 'Falha na conexão de teste da conta de backup {{ .err }}'
ErrBackupLocalDelete: 'A exclusão da conta de backup do servidor local ainda não é suportada'

View file

@ -40,6 +40,7 @@ ErrGroupIsDefault: 'Группа по умолчанию, не может быт
ErrGroupIsInWebsiteUse: 'Группа используется другим веб-сайтом и не может быть удалена.'
#резервное копирование
Localhost: 'Локальная машина'
ErrBackupInUsed: 'Учетная запись резервного копирования использовалась в запланированной задаче и не может быть удалена.'
ErrBackupCheck: 'Проверка подключения к резервной копии учетной записи не удалась {{ .err }}'
ErrBackupLocalDelete: 'Удаление учетной записи резервного копирования локального сервера пока не поддерживается'

View file

@ -40,6 +40,7 @@ ErrGroupIsDefault: 'Varsayılan grup, silinemez'
ErrGroupIsInWebsiteUse: 'Grup başka bir web sitesi tarafından kullanılıyor ve silinemez.'
#backup
Localhost: 'Yerel Makine'
ErrBackupInUsed: 'Yedekleme hesabı zamanlanmış görevde kullanıldı ve silinemez.'
ErrBackupCheck: 'Yedekleme hesabı test bağlantısı başarısız {{ .err }}'
ErrBackupLocalDelete: 'Yerel sunucu yedekleme hesabını silme henüz desteklenmiyor'

View file

@ -37,6 +37,7 @@ ErrGroupIsDefault: '預設分組,無法刪除'
ErrGroupIsInWebsiteUse: '分組正在被其他網站使用,無法刪除'
#backup
Localhost: '本機'
ErrBackupInUsed: '此備份帳號已在排程任務中使用,無法刪除'
ErrBackupCheck: '備份帳號測試連線失敗{{ .err }}'
ErrBackupLocalDelete: '暫時不支援刪除本機伺服器備份帳號'

View file

@ -37,6 +37,7 @@ ErrGroupIsDefault: "默认分组,无法删除"
ErrGroupIsInWebsiteUse: "分组正在被其他网站使用,无法删除"
#backup
Localhost: '本机'
ErrBackupInUsed: "该备份账号已在计划任务中使用,无法删除"
ErrBackupCheck: "备份账号测试连接失败 {{ .err }}"
ErrBackupLocalDelete: "暂不支持删除本地服务器备份账号"

View file

@ -12,7 +12,7 @@ export const routerToPath = async (path: string) => {
};
export const routerToFileWithPath = async (pathItem: string) => {
await router.push({ name: 'File', query: { path: pathItem } });
await router.push({ name: 'File', query: { path: pathItem, uncached: 'true' } });
tabStoreMiddleWare();
};

View file

@ -66,12 +66,12 @@
</el-button>
</div>
</div>
<div v-if="!row.expand && row.options.length > 3">
<div v-if="!row.expand && row.options?.length > 3">
<el-button type="primary" link @click="row.expand = true">
{{ $t('commons.button.expand') }}...
</el-button>
</div>
<div v-if="row.expand && row.options.length > 3">
<div v-if="row.expand && row.options?.length > 3">
<el-button type="primary" link @click="row.expand = false">
{{ $t('commons.button.collapse') }}
</el-button>

View file

@ -418,7 +418,7 @@ const onLoadBaseInfo = async (isInit: boolean, range: string) => {
const quickJump = (item: any) => {
if (item.name === 'File') {
routerToFileWithPath(item.detail);
return routerToFileWithPath(item.detail);
}
return routerToPath(item.router);
};