Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
dcu_env_check
Commits
1b8bcca1
Commit
1b8bcca1
authored
Jun 24, 2025
by
liumg
Browse files
Upload New File
parent
77494a3c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
42 additions
and
0 deletions
+42
-0
tools/sys_log.sh
tools/sys_log.sh
+42
-0
No files found.
tools/sys_log.sh
0 → 100644
View file @
1b8bcca1
#!/usr/bin/bash
# 带大小限制的日志复制函数
copy_log_with_limit
()
{
local
src
=
$1
local
dest
=
$2
local
size_limit_mb
=
$3
if
[
-f
"
$src
"
]
;
then
file_size
=
$(
du
-m
"
$src
"
|
cut
-f1
)
if
[
$file_size
-gt
$size_limit_mb
]
;
then
log
"跳过大文件:
$src
(
${
file_size
}
MB >
${
size_limit_mb
}
MB)"
echo
"[日志文件超过大小限制未采集]"
>
"
$dest
"
return
fi
cp
"
$src
"
"
$dest
"
2>/dev/null
||
echo
"无权限读取日志"
>
"
$dest
"
else
echo
"日志文件不存在"
>
"
$dest
"
fi
}
# 收集系统日志
collect_logs
()
{
log
"收集系统日志(最近
${
LOG_AGE
}
小时)..."
# 识别系统日志位置
local
syslog_path
[
-f
/var/log/syslog
]
&&
syslog_path
=
/var/log/syslog
[
-f
/var/log/messages
]
&&
syslog_path
=
/var/log/messages
if
[
-n
"
$syslog_path
"
]
;
then
copy_log_with_limit
"
$syslog_path
"
"
$OUTPUT_DIR
/system.log"
$LOG_SIZE_LIMIT
else
log
"收集journalctl日志..."
journalctl
--since
"
${
LOG_AGE
}
hours ago"
>
"
$OUTPUT_DIR
/system.log"
2>/dev/null
||
\
echo
"无法获取系统日志"
>
"
$OUTPUT_DIR
/system.log"
fi
log
"收集dmesg日志..."
dmesg
-T
>
"
$OUTPUT_DIR
/dmesg.log"
2>&1
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment