Linux
從磁碟操作中重定向輸出不起作用
我無法在使用磁碟操作的命令上成功重定向 STDOUT+STDERR。始終有效的標準重定向現在以某種方式擷取輸出。兩個實際例子:
範例 1:
# wipefs --all --force /dev/sda >>/var/log/custom.log 2>&1 [ 20.169018 ] sda: sda1
範例 2:
# mount --verbose --options defaults --types ext4 /dev/sda1 /path/is/here >>/var/log/custom.log 2>&1 [ 30.947410 ] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
有趣的是,這只發生在以某種方式接觸磁碟時。腳本中的所有其他重定向都按預期工作。
有任何想法嗎?
這不是命令的輸出,這是核心日誌消息。由於消息不是來自命令,因此它們不受重定向的影響。
核心日誌消息通常會進入日誌文件,並且重要消息還會顯示在控制台上。“重要”和“控制台”的確切含義取決於日誌記錄配置。如果您使用的是 sysklogd,則配置文件是
/etc/syslog.conf
. 如果你使用 rsyslog,它是/etc/rsyslog.conf
and/etc/rsyslog.d/*
。如果你使用 systemd 的內置日誌,它是/etc/systemd/journal.conf
. 核心也可以直接將日誌列印到控制台,而無需通過可以配置的日誌守護程序dmesg --console-…
(但這通常通過日誌守護程序的配置間接完成)。