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 @@
+