
這個問題有點類似這個但最有幫助的答案似乎是 Ubuntu 特定的,並且它在 OSX 10.6.8 上運行。
使用此日誌記錄子句:
logging {
category default {
_default_log;
};
channel _default_log {
file "/var/chroot/named/var/log/query.log";
severity info;
print-time yes;
};
};
我在 system.log 中收到此錯誤:
isc_log_open '/var/chroot/named/var/log/query.log' 失敗:找不到文件
檔案「path_name」是一個引號的字串,定義日誌檔案的絕對路徑,例如「/var/log/named/namedlog.log」。
但是conf位於監獄內部/var/chroot/named/etc/named.conf
,我希望將日誌寫入/var/chroot/named/var/log/query.log
監獄內部或/Library/Logs/named.log
監獄外部(並且是日誌在chrooting之前指向的位置)。無論我能去哪工作都很好。
任何幫助深表感謝!
答案1
由於您的綁定在監獄 chroot 內運行,因此您的路徑應該是相對於它的。
對於您的 chroot 綁定,/
目錄從 開始/var/chroot/named
,因此您應該將檔案名稱更改為/var/log/query.log
並確保綁定有權寫入/var/log
。
另外,您可以將日誌寫入這兩個檔案。如果上述變更成功,您可以在 chroot 之外使用以下命令將兩個檔案 (/var/chroot/named/var/log/query.log
和) 連結到一個檔案:/Library/Logs/named.log
$ ln /var/chroot/named/var/log/query.log /Library/Logs/named.log
這樣做將在兩個位置為您提供相同的內容。但是,請注意,刪除一個文件不會刪除另一個文件,但清空它可以同時刪除兩個文件。因此,如果您使用logrotate
或類似程序,則需要輪換這兩個檔案並確保每次都重新建立連結。
答案2
將指令中的檔案名稱改為 /var/log/query.log.....您位於以 /var/chroot/named 作為根的 chroot 區域。