MST

星途 面试题库

面试题:Bash脚本中复杂日志记录与按日期存储

编写一个Bash脚本,该脚本能够执行一系列系统检查命令(如检查磁盘空间、内存使用等),将所有命令的输出记录到日志中。日志文件需要按日期命名,每天生成一个新的日志文件,并且日志内容要包含时间戳。
31.0万 热度难度
编程语言Bash

知识考点

AI 面试

面试题答案

一键面试
#!/bin/bash

# 获取当前日期,用于日志文件名
log_date=$(date +%Y%m%d)
log_file="system_check_${log_date}.log"

# 记录命令输出到日志文件,并添加时间戳
function log_command {
    local command=$1
    local timestamp=$(date +"%Y-%m-%d %H:%M:%S")
    echo -e "\n[$timestamp] Command: $command" >> $log_file
    $command >> $log_file 2>&1
}

# 检查磁盘空间
log_command "df -h"

# 检查内存使用
log_command "free -h"

# 其他系统检查命令可在此继续添加,如:
# log_command "top -b -n 1"