佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Ubuntu系統(tǒng)中用ramlog將日志文件轉(zhuǎn)存至內(nèi)存中的教程

Ubuntu系統(tǒng)中用ramlog將日志文件轉(zhuǎn)存至內(nèi)存中的教程

熱門標簽:電話銷售團隊 大數(shù)據(jù)分析 呼叫中心 電銷機器人 呼叫外包 Mysql連接數(shù)設置 科大訊飛語音識別系統(tǒng) 智能手機

Ramlog 以系統(tǒng)守護進程的形式運行。在系統(tǒng)啟動時它創(chuàng)建虛擬磁盤(ramdisk),將 /var/log 下的文件復制到虛擬磁盤中,同時把虛擬磁盤掛載為/var/log。然后所有的日志就會更新到虛擬磁盤上。而當 ramlog 重啟或停止時,需要記錄到硬盤上的日志就會保留在目錄/var/log.hdd中。而關機的時候,(ramdisk上的)日志文件會重新保存到硬盤上,以確保日志一致性。Ramlog 2.x默認使用tmpfs文件系統(tǒng),同時也可以支持ramfs和內(nèi)核ramdisk。使用rsync(譯注:Linux數(shù)據(jù)鏡像備份工具)這個工具來同步日志。

注意:如果突然斷電或者內(nèi)核崩潰(kernel panic)時,沒有保存進硬盤的日志將會丟失。

如果你擁有夠多的可用內(nèi)存,而又想把日志放進虛擬磁盤,就安裝ramlog吧。它是筆記本用戶、帶有UPS的系統(tǒng)或是直接在flash中運行的系統(tǒng)的優(yōu)良選擇,可以節(jié)省日志的寫入時間。Ramlog的運行機制以及步驟如下:

  •     Ramlog 由第一個守護進程(這取決于你所安裝過的其它守護進程)啟動。
  •     然后創(chuàng)建目錄/var/log.hdd并將其硬鏈至/var/log。
  •     如果使用的是tmpfs(默認)或者ramfs 文件系統(tǒng),將其掛載到/var/log上。
  •     而如果使用的是內(nèi)核ramdisk,ramdisk會在/dev/ram9中創(chuàng)建,并將其掛載至/var/log。默認情況下ramlog會占用所有ramdisk的內(nèi)存,其大小由內(nèi)核參數(shù)"ramdisk_size"指定。
  •     接著其它的守護進程被啟動,并在ramdisk中更新日志。Logrotate(譯注:Linux日志輪替工具)和 ramdisk 配合的也很好。
  •     重啟(默認一天一次)ramlog時,目錄/var/log.hdd將借助rsync與/var/log保持同步。日志自動保存的頻率可以通過cron(譯注:Linux例行性工作調(diào)度)來控制。默認情況下,ramlog 的調(diào)度任務放置在目錄/etc/cron.daily下。
  •     系統(tǒng)關機時,ramlog在最后一個守護進程關閉之前關閉。
  •     在ramlog關閉期間,/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安裝包完畢,使用以下命令進行安裝:

   

復制代碼
代碼如下:
sudo dpkg -i ramlog_2.0.0_all.deb

這一步會完成整個安裝,現(xiàn)在你需要運行以下命令:

   

復制代碼
代碼如下:
sudo update-rc.d ramlog start 2 2 3 4 5 . stop 99 0 1 6
.

現(xiàn)在,在更新sysklogd的初始化順序,使之能在ramlog停止運行前正確關閉:

   

復制代碼
代碼如下:
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)重啟完畢,運行'ramlog getlogsize'來獲取你當前的/var/log的空間大小。在此基礎之上多分配40%的空間,確保ramdisk有足夠的空間(這整個都將作為ramdisk的空間大小)。

編輯引導配置文件,如/etc/grub.conf,、/boot/grub/menu.lst 或/etc/lilo.conf(譯注:具體哪個配置文件視不同引導加載程序而定),給你的當前內(nèi)核的新增選項 'ramdisk_size=xxx' ,其中xxx是ramdisk的空間大小。
配置Ramlog

基于deb的系統(tǒng)中,Ramlog的配置文件位于/etc/default/ramlog,你可以在該配置文件中設置以下變量:

   

復制代碼
代碼如下:
RAMDISKTYPE=0
# 取值:
# 0 -- tmpfs (可被交換到交換分區(qū)) -- 默認
# 1 -- ramfs (舊內(nèi)核不能設置最大空間大小,
# 不能被交換到交換分區(qū),和 SELinux 不兼容)
# 2 -- 老式的內(nèi)核 ramdisk
TMPFS_RAMFS_SIZE=
# 可以用于 tmpfs 或 ramfs 的最大內(nèi)存大小
# 這個值可以是百分比或數(shù)值(單位是 Mb),例如:
# TMPFS_RAMFS_SIZE=40%
# TMPFS_RAMFS_SIZE=100m
# 該值為空表示 tmpfs/ramfs 的大小是全部內(nèi)存的 50%
# 更多選項可以參考 ‘man mount' 中的‘Mount options for tmpfs' 一節(jié)
# (補充,在較新的內(nèi)核中,ramfs 支持大小限制,
# 雖然 man 中說沒有這個掛載選項)
# 該選項僅用于 RAMDISKTYPE=0 或 1 時
KERNEL_RAMDISK_SIZE=MAX
#以 kb 為單位指定的內(nèi)核 ramdisk 大小,或者使用 MAX 來使用整個 ramdisk。
#該選項僅用于 RAMDISKTYPE=2 時
LOGGING=1
# 0=關閉, 1=打開 。記錄自身的日志到 /var/log/ramdisk
LOGNAME=ramlog
# 自身的日志文件名 (用于 LOGGING=1時)
VERBOSE=1
# 0=關閉, 1=打開 (設置為 1時,啟動或停止失敗時會調(diào)用 teststartstop 將細節(jié)
# 寫到日志中)

在Ubuntu中卸載ramlog

打開終端運行以下命令:


復制代碼
代碼如下:
sudo dpkg -P ramlog

注意:如果ramlog卸載之前仍在運行,需要重啟系統(tǒng)完成整個卸載工作。

標簽:廊坊 安慶 三沙 普洱 丹東 濟寧 連云港 婁底

巨人網(wǎng)絡通訊聲明:本文標題《Ubuntu系統(tǒng)中用ramlog將日志文件轉(zhuǎn)存至內(nèi)存中的教程》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    永登县| 渭南市| 通河县| 青铜峡市| 通江县| 大冶市| 深州市| 西乌| 巨野县| 泰安市| 四子王旗| 长宁县| 合作市| 荥经县| 长武县| 许昌市| 剑河县| 北宁市| 安达市| 繁昌县| 岱山县| 开化县| 营口市| 民丰县| 镇巴县| 高州市| 祁门县| 缙云县| 龙游县| 凉城县| 醴陵市| 隆德县| 确山县| 二连浩特市| 甘泉县| 甘南县| 梅州市| 遵义县| 汉中市| 昌吉市| 丁青县|