本篇內(nèi)容主要講解“如何在Ubuntu系統(tǒng)中用ramlog將日志文件轉(zhuǎn)存至內(nèi)存中”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“如何在Ubuntu系統(tǒng)中用ramlog將日志文件轉(zhuǎn)存至內(nèi)存中”吧!
成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司,提供網(wǎng)站建設(shè)、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進(jìn)行網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,是專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
Ramlog 以系統(tǒng)守護(hù)進(jìn)程的形式運(yùn)行。在系統(tǒng)啟動(dòng)時(shí)它創(chuàng)建虛擬磁盤(pán)(ramdisk),將 /var/log 下的文件復(fù)制到虛擬磁盤(pán)中,同時(shí)把虛擬磁盤(pán)掛載為/var/log。然后所有的日志就會(huì)更新到虛擬磁盤(pán)上。而當(dāng) ramlog 重啟或停止時(shí),需要記錄到硬盤(pán)上的日志就會(huì)保留在目錄/var/log.hdd中。而關(guān)機(jī)的時(shí)候,(ramdisk上的)日志文件會(huì)重新保存到硬盤(pán)上,以確保日志一致性。Ramlog 2.x默認(rèn)使用tmpfs文件系統(tǒng),同時(shí)也可以支持ramfs和內(nèi)核ramdisk。使用rsync(譯注:Linux數(shù)據(jù)鏡像備份工具)這個(gè)工具來(lái)同步日志。
注意:如果突然斷電或者內(nèi)核崩潰(kernel panic)時(shí),沒(méi)有保存進(jìn)硬盤(pán)的日志將會(huì)丟失。
如果你擁有夠多的可用內(nèi)存,而又想把日志放進(jìn)虛擬磁盤(pán),就安裝ramlog吧。它是筆記本用戶、帶有UPS的系統(tǒng)或是直接在flash中運(yùn)行的系統(tǒng)的優(yōu)良選擇,可以節(jié)省日志的寫(xiě)入時(shí)間。Ramlog的運(yùn)行機(jī)制以及步驟如下:
Ramlog 由第一個(gè)守護(hù)進(jìn)程(這取決于你所安裝過(guò)的其它守護(hù)進(jìn)程)啟動(dòng)。
然后創(chuàng)建目錄/var/log.hdd并將其硬鏈至/var/log。
如果使用的是tmpfs(默認(rèn))或者ramfs 文件系統(tǒng),將其掛載到/var/log上。
而如果使用的是內(nèi)核ramdisk,ramdisk會(huì)在/dev/ram9中創(chuàng)建,并將其掛載至/var/log。默認(rèn)情況下ramlog會(huì)占用所有ramdisk的內(nèi)存,其大小由內(nèi)核參數(shù)"ramdisk_size"指定。
接著其它的守護(hù)進(jìn)程被啟動(dòng),并在ramdisk中更新日志。Logrotate(譯注:Linux日志輪替工具)和 ramdisk 配合的也很好。
重啟(默認(rèn)一天一次)ramlog時(shí),目錄/var/log.hdd將借助rsync與/var/log保持同步。日志自動(dòng)保存的頻率可以通過(guò)cron(譯注:Linux例行性工作調(diào)度)來(lái)控制。默認(rèn)情況下,ramlog 的調(diào)度任務(wù)放置在目錄/etc/cron.daily下。
系統(tǒng)關(guān)機(jī)時(shí),ramlog在最后一個(gè)守護(hù)進(jìn)程關(guān)閉之前關(guān)閉。
在ramlog關(guān)閉期間,/var/log.hdd中的文件將被同步至/var/log,接著/var/log和/var/log.hdd都被卸載,然后刪除空目錄/var/log.hdd。
在Ubuntu中安裝Ramlog
首先需要用以下命令,從這里下載.deb安裝包:
wget http://www.tremende.com/ramlog/download/ramlog_2.0.0_all.deb
下載ramlog_2.0.0_all.deb安裝包完畢,使用以下命令進(jìn)行安裝:
代碼如下:
sudo dpkg -i ramlog_2.0.0_all.deb
這一步會(huì)完成整個(gè)安裝,現(xiàn)在你需要運(yùn)行以下命令:
代碼如下:
sudo update-rc.d ramlog start 2 2 3 4 5 . stop 99 0 1 6
.
現(xiàn)在,在更新sysklogd的初始化順序,使之能在ramlog停止運(yùn)行前正確關(guān)閉:
代碼如下:
sudo update-rc.d -f sysklogd remove
sudo update-rc.d sysklogd start 10 2 3 4 5 . stop 90 0 1 6 .
然后重啟系統(tǒng):
代碼如下:
sudo reboot
系統(tǒng)重啟完畢,運(yùn)行'ramlog getlogsize'來(lái)獲取你當(dāng)前的/var/log的空間大小。在此基礎(chǔ)之上多分配40%的空間,確保ramdisk有足夠的空間(這整個(gè)都將作為ramdisk的空間大?。?。
編輯引導(dǎo)配置文件,如/etc/grub.conf,、/boot/grub/menu.lst 或/etc/lilo.conf(譯注:具體哪個(gè)配置文件視不同引導(dǎo)加載程序而定),給你的當(dāng)前內(nèi)核的新增選項(xiàng) 'ramdisk_size=xxx' ,其中xxx是ramdisk的空間大小。
配置Ramlog
基于deb的系統(tǒng)中,Ramlog的配置文件位于/etc/default/ramlog,你可以在該配置文件中設(shè)置以下變量:
代碼如下:
RAMDISKTYPE=0
# 取值:
# 0 -- tmpfs (可被交換到交換分區(qū)) -- 默認(rèn)
# 1 -- ramfs (舊內(nèi)核不能設(shè)置最大空間大小,
# 不能被交換到交換分區(qū),和 SELinux 不兼容)
# 2 -- 老式的內(nèi)核 ramdisk
TMPFS_RAMFS_SIZE=
# 可以用于 tmpfs 或 ramfs 的最大內(nèi)存大小
# 這個(gè)值可以是百分比或數(shù)值(單位是 Mb),例如:
# TMPFS_RAMFS_SIZE=40%
# TMPFS_RAMFS_SIZE=100m
# 該值為空表示 tmpfs/ramfs 的大小是全部?jī)?nèi)存的 50%
# 更多選項(xiàng)可以參考 ‘man mount' 中的‘Mount options for tmpfs' 一節(jié)
# (補(bǔ)充,在較新的內(nèi)核中,ramfs 支持大小限制,
# 雖然 man 中說(shuō)沒(méi)有這個(gè)掛載選項(xiàng))
# 該選項(xiàng)僅用于 RAMDISKTYPE=0 或 1 時(shí)
KERNEL_RAMDISK_SIZE=MAX
#以 kb 為單位指定的內(nèi)核 ramdisk 大小,或者使用 MAX 來(lái)使用整個(gè) ramdisk。
#該選項(xiàng)僅用于 RAMDISKTYPE=2 時(shí)
LOGGING=1
# 0=關(guān)閉, 1=打開(kāi) 。記錄自身的日志到 /var/log/ramdisk
LOGNAME=ramlog
# 自身的日志文件名 (用于 LOGGING=1時(shí))
VERBOSE=1
# 0=關(guān)閉, 1=打開(kāi) (設(shè)置為 1時(shí),啟動(dòng)或停止失敗時(shí)會(huì)調(diào)用 teststartstop 將細(xì)節(jié)
# 寫(xiě)到日志中)
在Ubuntu中卸載ramlog
打開(kāi)終端運(yùn)行以下命令:
代碼如下:
sudo dpkg -P ramlog
注意:如果ramlog卸載之前仍在運(yùn)行,需要重啟系統(tǒng)完成整個(gè)卸載工作。
到此,相信大家對(duì)“如何在Ubuntu系統(tǒng)中用ramlog將日志文件轉(zhuǎn)存至內(nèi)存中”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!