mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-12-18 13:29:03 +08:00
fix: Fix the problem of uploaded backup files being deleted after res… (#10299)
…toration
This commit is contained in:
parent
b428e699db
commit
6f0673f184
16 changed files with 18 additions and 14 deletions
|
|
@ -456,9 +456,13 @@ func uploadWithMap(taskItem task.Task, accountMap map[string]backupClientHelper,
|
||||||
taskItem.LogFailed(i18n.GetMsgWithDetail("LoadBackupFailed", itemBackup.message))
|
taskItem.LogFailed(i18n.GetMsgWithDetail("LoadBackupFailed", itemBackup.message))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
name := itemBackup.name
|
||||||
|
if itemBackup.name == "localhost" {
|
||||||
|
name = i18n.GetMsgByKey("Localhost")
|
||||||
|
}
|
||||||
taskItem.LogStart(i18n.GetMsgWithMap("UploadFile", map[string]interface{}{
|
taskItem.LogStart(i18n.GetMsgWithMap("UploadFile", map[string]interface{}{
|
||||||
"file": path.Join(itemBackup.backupPath, dst),
|
"file": path.Join(itemBackup.backupPath, dst),
|
||||||
"backup": itemBackup.name,
|
"backup": name,
|
||||||
}))
|
}))
|
||||||
for i := 0; i < int(retry); i++ {
|
for i := 0; i < int(retry); i++ {
|
||||||
_, err := itemBackup.client.Upload(src, path.Join(itemBackup.backupPath, dst))
|
_, err := itemBackup.client.Upload(src, path.Join(itemBackup.backupPath, dst))
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,6 @@ func (u *BackupService) MysqlRecoverByUpload(req dto.CommonRecover) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
req.File = recoveFile
|
req.File = recoveFile
|
||||||
defer os.RemoveAll(path.Dir(recoveFile))
|
|
||||||
if err := handleMysqlRecover(req, nil, false, req.TaskID); err != nil {
|
if err := handleMysqlRecover(req, nil, false, req.TaskID); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,6 @@ func (u *BackupService) PostgresqlRecoverByUpload(req dto.CommonRecover) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
req.File = recoveFile
|
req.File = recoveFile
|
||||||
defer os.RemoveAll(path.Dir(recoveFile))
|
|
||||||
if err := handlePostgresqlRecover(req, nil, false); err != nil {
|
if err := handlePostgresqlRecover(req, nil, false); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -711,12 +711,6 @@ func (u *ContainerService) ContainerUpdate(req dto.ContainerOperate) error {
|
||||||
return err
|
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)
|
taskItem, err := task.NewTaskWithOps(req.Name, task.TaskUpdate, task.TaskScopeContainer, req.TaskID, 1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
global.LOG.Errorf("new task for create container failed, err: %v", err)
|
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)
|
}, nil)
|
||||||
|
|
||||||
taskItem.AddSubTask(i18n.GetWithName("ContainerCreate", item), func(t *task.Task) error {
|
taskItem.AddSubTask(i18n.GetWithName("ContainerCreate", item), func(t *task.Task) error {
|
||||||
oldContainer.Config.Cmd = nil
|
|
||||||
config := oldContainer.Config
|
config := oldContainer.Config
|
||||||
config.Image = req.Image
|
config.Image = req.Image
|
||||||
hostConf := oldContainer.HostConfig
|
hostConf := oldContainer.HostConfig
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ ErrGroupIsDefault: 'Default group, cannot be deleted'
|
||||||
ErrGroupIsInWebsiteUse: 'The group is being used by another website and cannot be deleted.'
|
ErrGroupIsInWebsiteUse: 'The group is being used by another website and cannot be deleted.'
|
||||||
|
|
||||||
#backup
|
#backup
|
||||||
|
Localhost: 'Local Machine'
|
||||||
ErrBackupInUsed: 'The backup account has been used in the scheduled task and cannot be deleted.'
|
ErrBackupInUsed: 'The backup account has been used in the scheduled task and cannot be deleted.'
|
||||||
ErrBackupCheck: 'Backup account test connection failed {{ .err }}'
|
ErrBackupCheck: 'Backup account test connection failed {{ .err }}'
|
||||||
ErrBackupLocalDelete: 'Deleting the local server backup account is not supported yet'
|
ErrBackupLocalDelete: 'Deleting the local server backup account is not supported yet'
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ ErrGroupIsDefault: 'デフォルト グループ、削除できません'
|
||||||
ErrGroupIsInWebsiteUse: 'グループは別の Web サイトで使用されているため、削除できません。'
|
ErrGroupIsInWebsiteUse: 'グループは別の Web サイトで使用されているため、削除できません。'
|
||||||
|
|
||||||
#backup
|
#backup
|
||||||
|
Localhost: 'ローカルマシン'
|
||||||
ErrBackupInUsed: 'バックアップ アカウントはスケジュールされたタスクで使用されているため、削除できません。'
|
ErrBackupInUsed: 'バックアップ アカウントはスケジュールされたタスクで使用されているため、削除できません。'
|
||||||
ErrBackupCheck: 'バックアップ アカウントのテスト接続に失敗しました {{ .err }}'
|
ErrBackupCheck: 'バックアップ アカウントのテスト接続に失敗しました {{ .err }}'
|
||||||
ErrBackupLocalDelete: 'ローカル サーバーのバックアップ アカウントの削除はまだサポートされていません'
|
ErrBackupLocalDelete: 'ローカル サーバーのバックアップ アカウントの削除はまだサポートされていません'
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ ErrGroupIsDefault: '기본 그룹, 삭제할 수 없습니다'
|
||||||
ErrGroupIsInWebsiteUse: '그룹이 다른 웹사이트에서 사용 중이므로 삭제할 수 없습니다.'
|
ErrGroupIsInWebsiteUse: '그룹이 다른 웹사이트에서 사용 중이므로 삭제할 수 없습니다.'
|
||||||
|
|
||||||
#지원
|
#지원
|
||||||
|
Localhost: '로컬 머신'
|
||||||
ErrBackupInUsed: '백업 계정이 예약된 작업에 사용되었으므로 삭제할 수 없습니다.'
|
ErrBackupInUsed: '백업 계정이 예약된 작업에 사용되었으므로 삭제할 수 없습니다.'
|
||||||
ErrBackupCheck: '백업 계정 테스트 연결에 실패했습니다 {{ .err }}'
|
ErrBackupCheck: '백업 계정 테스트 연결에 실패했습니다 {{ .err }}'
|
||||||
ErrBackupLocalDelete: '로컬 서버 백업 계정 삭제는 아직 지원되지 않습니다.'
|
ErrBackupLocalDelete: '로컬 서버 백업 계정 삭제는 아직 지원되지 않습니다.'
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ ErrGroupIsDefault: 'Kumpulan lalai, tidak boleh dipadamkan'
|
||||||
ErrGroupIsInWebsiteUse: 'Kumpulan sedang digunakan oleh tapak web lain dan tidak boleh dipadamkan.'
|
ErrGroupIsInWebsiteUse: 'Kumpulan sedang digunakan oleh tapak web lain dan tidak boleh dipadamkan.'
|
||||||
|
|
||||||
#sandaran
|
#sandaran
|
||||||
|
Localhost: 'Mesin Tempatan'
|
||||||
ErrBackupInUsed: 'Akaun sandaran telah digunakan dalam tugas yang dijadualkan dan tidak boleh dipadamkan.'
|
ErrBackupInUsed: 'Akaun sandaran telah digunakan dalam tugas yang dijadualkan dan tidak boleh dipadamkan.'
|
||||||
ErrBackupCheck: 'Sambungan ujian akaun sandaran gagal {{ .err }}'
|
ErrBackupCheck: 'Sambungan ujian akaun sandaran gagal {{ .err }}'
|
||||||
ErrBackupLocalDelete: 'Memadam akaun sandaran pelayan tempatan belum disokong lagi'
|
ErrBackupLocalDelete: 'Memadam akaun sandaran pelayan tempatan belum disokong lagi'
|
||||||
|
|
|
||||||
|
|
@ -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.'
|
ErrGroupIsInWebsiteUse: 'O grupo está sendo usado por outro site e não pode ser excluído.'
|
||||||
|
|
||||||
#backup
|
#backup
|
||||||
|
Localhost: 'Máquina Local'
|
||||||
ErrBackupInUsed: 'A conta de backup foi usada na tarefa agendada e não pode ser excluída.'
|
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 }}'
|
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'
|
ErrBackupLocalDelete: 'A exclusão da conta de backup do servidor local ainda não é suportada'
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ ErrGroupIsDefault: 'Группа по умолчанию, не может быт
|
||||||
ErrGroupIsInWebsiteUse: 'Группа используется другим веб-сайтом и не может быть удалена.'
|
ErrGroupIsInWebsiteUse: 'Группа используется другим веб-сайтом и не может быть удалена.'
|
||||||
|
|
||||||
#резервное копирование
|
#резервное копирование
|
||||||
|
Localhost: 'Локальная машина'
|
||||||
ErrBackupInUsed: 'Учетная запись резервного копирования использовалась в запланированной задаче и не может быть удалена.'
|
ErrBackupInUsed: 'Учетная запись резервного копирования использовалась в запланированной задаче и не может быть удалена.'
|
||||||
ErrBackupCheck: 'Проверка подключения к резервной копии учетной записи не удалась {{ .err }}'
|
ErrBackupCheck: 'Проверка подключения к резервной копии учетной записи не удалась {{ .err }}'
|
||||||
ErrBackupLocalDelete: 'Удаление учетной записи резервного копирования локального сервера пока не поддерживается'
|
ErrBackupLocalDelete: 'Удаление учетной записи резервного копирования локального сервера пока не поддерживается'
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ ErrGroupIsDefault: 'Varsayılan grup, silinemez'
|
||||||
ErrGroupIsInWebsiteUse: 'Grup başka bir web sitesi tarafından kullanılıyor ve silinemez.'
|
ErrGroupIsInWebsiteUse: 'Grup başka bir web sitesi tarafından kullanılıyor ve silinemez.'
|
||||||
|
|
||||||
#backup
|
#backup
|
||||||
|
Localhost: 'Yerel Makine'
|
||||||
ErrBackupInUsed: 'Yedekleme hesabı zamanlanmış görevde kullanıldı ve silinemez.'
|
ErrBackupInUsed: 'Yedekleme hesabı zamanlanmış görevde kullanıldı ve silinemez.'
|
||||||
ErrBackupCheck: 'Yedekleme hesabı test bağlantısı başarısız {{ .err }}'
|
ErrBackupCheck: 'Yedekleme hesabı test bağlantısı başarısız {{ .err }}'
|
||||||
ErrBackupLocalDelete: 'Yerel sunucu yedekleme hesabını silme henüz desteklenmiyor'
|
ErrBackupLocalDelete: 'Yerel sunucu yedekleme hesabını silme henüz desteklenmiyor'
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ ErrGroupIsDefault: '預設分組,無法刪除'
|
||||||
ErrGroupIsInWebsiteUse: '分組正在被其他網站使用,無法刪除'
|
ErrGroupIsInWebsiteUse: '分組正在被其他網站使用,無法刪除'
|
||||||
|
|
||||||
#backup
|
#backup
|
||||||
|
Localhost: '本機'
|
||||||
ErrBackupInUsed: '此備份帳號已在排程任務中使用,無法刪除'
|
ErrBackupInUsed: '此備份帳號已在排程任務中使用,無法刪除'
|
||||||
ErrBackupCheck: '備份帳號測試連線失敗{{ .err }}'
|
ErrBackupCheck: '備份帳號測試連線失敗{{ .err }}'
|
||||||
ErrBackupLocalDelete: '暫時不支援刪除本機伺服器備份帳號'
|
ErrBackupLocalDelete: '暫時不支援刪除本機伺服器備份帳號'
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ ErrGroupIsDefault: "默认分组,无法删除"
|
||||||
ErrGroupIsInWebsiteUse: "分组正在被其他网站使用,无法删除"
|
ErrGroupIsInWebsiteUse: "分组正在被其他网站使用,无法删除"
|
||||||
|
|
||||||
#backup
|
#backup
|
||||||
|
Localhost: '本机'
|
||||||
ErrBackupInUsed: "该备份账号已在计划任务中使用,无法删除"
|
ErrBackupInUsed: "该备份账号已在计划任务中使用,无法删除"
|
||||||
ErrBackupCheck: "备份账号测试连接失败 {{ .err }}"
|
ErrBackupCheck: "备份账号测试连接失败 {{ .err }}"
|
||||||
ErrBackupLocalDelete: "暂不支持删除本地服务器备份账号"
|
ErrBackupLocalDelete: "暂不支持删除本地服务器备份账号"
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ export const routerToPath = async (path: string) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
export const routerToFileWithPath = async (pathItem: 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();
|
tabStoreMiddleWare();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -66,12 +66,12 @@
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</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">
|
<el-button type="primary" link @click="row.expand = true">
|
||||||
{{ $t('commons.button.expand') }}...
|
{{ $t('commons.button.expand') }}...
|
||||||
</el-button>
|
</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 = false">
|
<el-button type="primary" link @click="row.expand = false">
|
||||||
{{ $t('commons.button.collapse') }}
|
{{ $t('commons.button.collapse') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
|
||||||
|
|
@ -418,7 +418,7 @@ const onLoadBaseInfo = async (isInit: boolean, range: string) => {
|
||||||
|
|
||||||
const quickJump = (item: any) => {
|
const quickJump = (item: any) => {
|
||||||
if (item.name === 'File') {
|
if (item.name === 'File') {
|
||||||
routerToFileWithPath(item.detail);
|
return routerToFileWithPath(item.detail);
|
||||||
}
|
}
|
||||||
return routerToPath(item.router);
|
return routerToPath(item.router);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue