From d09a3d82b9a245205be04f83d829ddabc5225e1c Mon Sep 17 00:00:00 2001 From: ssongliu <73214554+ssongliu@users.noreply.github.com> Date: Wed, 26 Mar 2025 22:54:53 +0800 Subject: [PATCH] fix: Fix the failure to back up file names containing Spaces for scheduled jobs (#8263) --- agent/app/service/cronjob_backup.go | 4 ++-- agent/utils/files/file_op.go | 2 +- frontend/src/lang/modules/en.ts | 1 + frontend/src/lang/modules/ja.ts | 1 + frontend/src/lang/modules/ko.ts | 1 + frontend/src/lang/modules/ms.ts | 1 + frontend/src/lang/modules/pt-br.ts | 1 + frontend/src/lang/modules/ru.ts | 1 + frontend/src/lang/modules/zh-Hant.ts | 1 + frontend/src/lang/modules/zh.ts | 1 + frontend/src/views/ai/model/del/index.vue | 5 ++--- frontend/src/views/log/operation/index.vue | 1 + 12 files changed, 14 insertions(+), 6 deletions(-) diff --git a/agent/app/service/cronjob_backup.go b/agent/app/service/cronjob_backup.go index 20449f7a2..bb4ae70f6 100644 --- a/agent/app/service/cronjob_backup.go +++ b/agent/app/service/cronjob_backup.go @@ -83,8 +83,8 @@ func (u *CronjobService) handleWebsite(cronjob model.Cronjob, startTime time.Tim record.Name = web.Alias record.DetailName = web.Alias record.DownloadAccountID, record.SourceAccountIDs = cronjob.DownloadAccountID, cronjob.SourceAccountIDs - backupDir := path.Join(global.Dir.TmpDir, fmt.Sprintf("website/%s", web.PrimaryDomain)) - record.FileName = fmt.Sprintf("website_%s_%s.tar.gz", web.PrimaryDomain, startTime.Format(constant.DateTimeSlimLayout)+common.RandStrAndNum(5)) + backupDir := path.Join(global.Dir.TmpDir, fmt.Sprintf("website/%s", web.Alias)) + record.FileName = fmt.Sprintf("website_%s_%s.tar.gz", web.Alias, startTime.Format(constant.DateTimeSlimLayout)+common.RandStrAndNum(5)) if err := handleWebsiteBackup(&web, backupDir, record.FileName, cronjob.ExclusionRules, cronjob.Secret, taskID); err != nil { return err } diff --git a/agent/utils/files/file_op.go b/agent/utils/files/file_op.go index 4e32a11ff..58e429f42 100644 --- a/agent/utils/files/file_op.go +++ b/agent/utils/files/file_op.go @@ -768,7 +768,7 @@ func (f FileOp) TarGzFilesWithCompressPro(list []string, dst, secret string) err var filelist []string for _, item := range list { - filelist = append(filelist, "-C "+path.Dir(item)+" "+path.Base(item)) + filelist = append(filelist, "-C '"+path.Dir(item)+"' '"+path.Base(item)+"' ") } commands := "" if len(secret) != 0 { diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts index 3ea8d5e1e..a4bf2b57d 100644 --- a/frontend/src/lang/modules/en.ts +++ b/frontend/src/lang/modules/en.ts @@ -1291,6 +1291,7 @@ const message = { settings: 'Setting', cronjobs: 'Cronjob', databases: 'Database', + waf: 'WAF', licenses: 'License', nodes: 'Node', commands: 'Quick Commands', diff --git a/frontend/src/lang/modules/ja.ts b/frontend/src/lang/modules/ja.ts index 80dd9f359..a242a5ac1 100644 --- a/frontend/src/lang/modules/ja.ts +++ b/frontend/src/lang/modules/ja.ts @@ -1228,6 +1228,7 @@ const message = { settings: 'パネル設定', cronjobs: 'スケジュールされたタスク', databases: 'データベース', + waf: 'WAF', licenses: 'ライセンス', nodes: 'ノード', commands: 'クイックコマンド', diff --git a/frontend/src/lang/modules/ko.ts b/frontend/src/lang/modules/ko.ts index 397313adc..c345e77eb 100644 --- a/frontend/src/lang/modules/ko.ts +++ b/frontend/src/lang/modules/ko.ts @@ -1215,6 +1215,7 @@ const message = { logs: '로그 감사', settings: '패널 설정', cronjobs: '예약 작업', + waf: 'WAF', databases: '데이터베이스', licenses: '라이선스', nodes: '노드', diff --git a/frontend/src/lang/modules/ms.ts b/frontend/src/lang/modules/ms.ts index 2dbd91533..091ffa717 100644 --- a/frontend/src/lang/modules/ms.ts +++ b/frontend/src/lang/modules/ms.ts @@ -1270,6 +1270,7 @@ const message = { logs: 'Audit Log', settings: 'Tetapan Panel', cronjobs: 'Tugas Terjadual', + waf: 'WAF', databases: 'Pangkalan', licenses: 'lesen', nodes: 'nod', diff --git a/frontend/src/lang/modules/pt-br.ts b/frontend/src/lang/modules/pt-br.ts index f6b314fb5..e3567e20a 100644 --- a/frontend/src/lang/modules/pt-br.ts +++ b/frontend/src/lang/modules/pt-br.ts @@ -1253,6 +1253,7 @@ const message = { logs: 'Auditoria de Logs', settings: 'Configurações do Painel', cronjobs: 'Tarefas Agendadas', + waf: 'WAF', databases: 'Bancos de Dados', licenses: 'licenças', nodes: 'nós', diff --git a/frontend/src/lang/modules/ru.ts b/frontend/src/lang/modules/ru.ts index 8967ca0bb..6bf64c780 100644 --- a/frontend/src/lang/modules/ru.ts +++ b/frontend/src/lang/modules/ru.ts @@ -1261,6 +1261,7 @@ const message = { logs: 'Аудит журналов', settings: 'Настройки панели', cronjobs: 'Запланированные задачи', + waf: 'WAF', databases: 'Базы данных', licenses: 'лицензии', nodes: 'ноды', diff --git a/frontend/src/lang/modules/zh-Hant.ts b/frontend/src/lang/modules/zh-Hant.ts index 04530b784..2eecbe740 100644 --- a/frontend/src/lang/modules/zh-Hant.ts +++ b/frontend/src/lang/modules/zh-Hant.ts @@ -1220,6 +1220,7 @@ const message = { logs: '日誌審計', settings: '面板設定', cronjobs: '計畫任務', + waf: 'WAF', databases: '資料庫', licenses: '許可證', nodes: '節點', diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts index 27cffda6a..91b274a25 100644 --- a/frontend/src/lang/modules/zh.ts +++ b/frontend/src/lang/modules/zh.ts @@ -1219,6 +1219,7 @@ const message = { settings: '面板设置', cronjobs: '计划任务', databases: '数据库', + waf: 'WAF', licenses: '许可证', nodes: '节点', commands: '快速命令', diff --git a/frontend/src/views/ai/model/del/index.vue b/frontend/src/views/ai/model/del/index.vue index 2471b80af..d50157857 100644 --- a/frontend/src/views/ai/model/del/index.vue +++ b/frontend/src/views/ai/model/del/index.vue @@ -43,8 +43,8 @@ import { onMounted, ref } from 'vue'; defineOptions({ name: 'OpDialog' }); -const checkAll = ref(false); -const isIndeterminate = ref(true); +const checkAll = ref(); +const isIndeterminate = ref(false); const checkedItems = ref([]); const list = ref([]); @@ -58,7 +58,6 @@ const acceptParams = (props: DialogProps): void => { checkAll.value = false; checkedItems.value = []; list.value = props.list; - checkAll.value = true; open.value = true; }; diff --git a/frontend/src/views/log/operation/index.vue b/frontend/src/views/log/operation/index.vue index 5973fbf6e..73a4965c0 100644 --- a/frontend/src/views/log/operation/index.vue +++ b/frontend/src/views/log/operation/index.vue @@ -24,6 +24,7 @@ +