導航:首頁 > 操作系統 > 日誌同步linux

日誌同步linux

發布時間:2023-01-14 21:58:04

A. linux 怎麼將一個會更新的日誌不停輸出到另一個文件

你好,如果linux機器上有一個日誌文件不停的在更新,現在需要當它更新時把更新的機型同步到另外一個文件中

B. linux下的日誌同步服務怎麼做

Rsyslog或者自己寫腳本rsync或者scp完成同步

C. linux 系統日誌伺服器埠與其他埠不一致能同步日誌嗎

兩台WEB伺服器中的一台為主伺服器,另外一台是備份伺服器。要求備份伺服器上的文件要與主伺服器上的保持相同。但是如何使其自動工作呢?最好的方法應該是:文件被改動的時候能夠有人告訴我們,這樣我們可以採取相應的動作。這正是」IMON」要做的工作。
fam就是文件變更監視模塊,它向應用程序提供了一組API,當指定的文件或目錄發生變化時,由其向應用程序發出通知。
FAM由兩部分組成:後台守護程序fam,它負責接收請求和發送通知;庫文件libfam,客戶端應用程序用它來與FAM通信。 若遠程主機打開了受監視的文件,本地的fam會與遠程主機的fam聯系,將請求發送給遠程am。 Fam也可以在某個文件開始或停止運行時通知它的客戶端。(比如:在IRIX交互桌面中,如果一個程序正在運行那麼它的圖標就會不會閃爍)。Fam是由Bruce Karsh在1989年為IRIX編寫的,並由Bob Miller在1995年重寫。這個公開源代碼的fam版本構建並運行於Linux和IRIX之上,與IRIX6.5.8中的fam相同。
imon就是信息節點監視模塊,它是內核的一部分,當文件有變動時由它通知fam。由應用程序告訴fam對某個目錄或文件進行監視,fam再將這個請求傳送給imon。當被監視的這些文件有變化時,內核通知imon,再由imon通知fam,最後由fam通知負責監視這個文件的應用程序。 imon是由Wiltse Carpenter在1989年為IRIX的內核編寫的,再由Roger Chickering移植到Linux下。Linux下的imon內核補丁與IRIX下的imon在許多方面都很類似,只是與內核文件系統的掛接代碼不同。

D. linux下的日誌同步服務怎麼做高分求助

我不知道你的日誌同步是什麼意思,我的理解是把所有伺服器的日誌統一發送到一台指定的日誌伺服器。。如果理解不對,麻煩補充。
我把我的摘抄的文檔發上來給你看看,這個不難,我就是按這個文檔配置的。。

一、 配置syslog守護進程
syslog是Linux系統默認的日誌守護進程。默認的syslog配置文件是/etc/syslog.conf文件。syslog守護進程是可配置 的,它允許人們為每一種類型的系統信息精確地指定一個存放地點。現在,我們先看看syslog.conf文件的配置行格式(這個文件里的每一個配置行都是 同樣的格式),然後再看一個完整的syslog配置文件。syslog配置行的格式如下所示:
mail.*/var/log/mail
這一行由兩個部分組成。第一個部分是一個或多個「選擇條件」;上例中的選擇條件是「mail」。選擇條件後面跟一些空格字元,然後是一個「操作動作」;上例中的操作動作是:/var/log/mail

1選擇條件
選擇條件本身分為兩個欄位,之間用一個小數點(.)分隔。前一欄位是一項服務,後一欄位是一個優先順序。選擇條件其實是對消息類型的一種分類,這種分類便於 人們把不同類型的消息發送到不同的地方。在同一個syslog配置行上允許出現一個以上的選擇條件,但必須用分號(;)把它們分隔開。上面給出的例子里只 有一個選擇條件「mail」。大家可以在我們後面給出的那個完整的syslog配置文件示例里看到同時有多個選擇條件的配置行。

2 優先順序
優先順序是選擇條件的第二個欄位,它代表消息的緊急程度。對一個應用程序來說,它發出的哪些消息屬於哪一種優先順序是由當初編寫它的程序員決定的,應用程序的 使用者只能接受這樣的安排——除非打算重新編譯系統應用程序。表2按嚴重程度由低到高的順序列出了所有可能的優先順序。
不同的服務類型有不同的優先順序,數值較大的優先順序涵蓋數值較小的優先順序。如果某個選擇條件只給出了一個優先順序而沒有使用任何優先順序限定符,對應於這個優先 級的消息以及所有更緊急的消息類型都將包括在內。比如說,如果某個選擇條件里的優先順序是「warning」,它實際上將把「warning」、 「err」、「crit」、「alert」和「emerg」都包括在內。

3優先順序限定符
syslog允許人們使用三種限定符對優先順序進行修飾:星號(*)、等號(=)和嘆號(!)。熟悉規則表達式的讀者應該對這三種限定符不會感到陌生。星號 (*)的含義是「把本項服務生成的所有日誌消息都發送到操作動作指定的地點」。就像它在規則表達式里的作用一樣,星號代表「任何東西」。在前面給出的例子 里,「mail.*」將把所有優先順序的消息都發送到操作動作指定的/var/log/mail文件里。使用「*」限定符與使用「debug」優先順序的效果 完全一樣,後者也將把所有類型的消息發送到指定地點。
等號(=)的含義是「只把本項服務生成的本優先順序的日誌消息都發送到操作動作指定的地點」。比如說,可以用「=」限定符只發送調試消息而不發送其他更緊急的消息(這將為應用程序減輕很多負擔)。當你只需要發送特定優先順序別的消息時,就要使用等號限定符。
就像它在編程時的用法一樣,等號意味著等於且僅等於。嘆號(!)的含義是「把本項服務生成的所有日誌消息都發送到操作動作指定的地點,但本優先順序的消息不 包括在內」。比如說,這條syslog配置行將把除info優先順序以外的所有消息發送到/var/log/mail文件里:
mail.*;mail.!info/var/log/mail
在這個例子里,「mail.*」將發送所有的消息,但「mail.!info」卻把info優先順序的消息排除在外。就像它在編程時的用法一樣,嘆號意味著 「非」。

4 操作動作
日誌信息可以分別記錄到多個文件里,還可以發送到命名管道、其他程序甚至另一台機器。syslog配置文件並不復雜,既容易閱讀又容易操作使用。這個文件里的注釋都非常有用,應該好好讀讀它們.

二、 建立一個中央日誌伺服器

1建立中央日誌伺服器前的准備工作
配置良好的網路服 務(DNS和NTP)有助於提高日誌記錄工作的精確性。在默認情況下,當有其他機器向自己發送日誌消息時,中央日誌伺服器將嘗試解析該機器的FQDN (fullyqualifieddomainname,完整域名)。(你可以在配置中央伺服器時用「-x」選項禁止它這樣做。)如果syslog守護進程 無法解析出那個地址,它將繼續嘗試,這種毫無必要的額外負擔將大幅降低日誌記錄工作的效率。類似地,如果你的各個系統在時間上不同步,中央日誌伺服器給某 個事件打上的時間戳就可能會與發送該事件的那台機器打上的時間戳不一致,這種差異會在你對事件進行排序分析時帶來很大的困擾;對網路時間進行同步有助於保 證日誌消息的時間准確性。如果想消除這種時間不同步帶來的麻煩,先編輯/etc/ntp.conf文件,使其指向一個中央時間源,再安排ntpd守護進程 隨系統開機啟動就可以了。

2配置一個中央日誌伺服器
只須稍加配置,就可以用syslog實現一個中央日誌伺服器。任何一台運行syslog守護進程的伺服器都可以被配置成接受來自另一台機器的消息,但這個 選項在默認情況下是禁用的。在後面的討論里,如無特別說明,有關步驟將適用於包括SUSE和RedHat在內的大多數Linux發行版本。我們先來看看如 何激活一個syslog伺服器接受外來的日誌消息:

1. 編輯/etc/sysconfig/syslog文件。
在「SYSLOGD_OPTIONS」行上加「-r」選項以允許接受外來日誌消息。如果因為關於其他機器的DNS記錄項不夠齊全或其他原因不想讓中央日誌 伺服器解析其他機器的FQDN,還可以加上「-x」選項。此外,你或許還想把默認的時間戳標記消息(--MARK--)出現頻率改成比較有實際意義的數 值,比如240,表示每隔240分鍾(每天6次)在日誌文件里增加一行時間戳消息。日誌文件里的「--MARK--」消息可以讓你知道中央日誌伺服器上的 syslog守護進程沒有停工偷懶。按照上面這些解釋寫出來的配置行應該是如下所示的樣子:
SYSLOGD_OPTIONS="-r-x-m240"

2.重新啟動syslog守護進程。
修改只有在syslog守護進程重新啟動後才會生效。如果你只想重新啟動syslog守護進程而不是整個系統,在 RedHat機器上,執行以下兩條命令之一:
/etc/rc.d/init.d/syslogstop;/etc/rc.d/init.d/syslogstart
/etc/rc.d/init.d/syslogrestart

3.如果這台機器上運行著iptables防火牆或TCPWrappers,請確保它們允許514號埠上的連接通過。syslog守護進程要用到514 號埠。

4為中央日誌伺服器配置各客戶機器
讓客戶機把日誌消息發往一個中央日誌伺服器並不困難。編輯客戶機上的/etc/syslog.conf文件,在有關配置行的操作動作部分用一個「@」字元指向中央日誌伺服器,如下所示:
authpriv.*@192.168.1.40
另一種辦法是在DNS里定義一個名為「loghost」的機器,然後對客戶機的syslog配置文件做如下修改(這個辦法的好處是:當你把中央日誌伺服器換成另一台機器時,不用再修改每一個客戶機上的syslog配置文件):
authpriv.*@loghost

接下來,重新啟動客戶機上的syslog守護進程讓修改生效。讓客戶機在往中央日誌伺服器發送日誌消息的同時繼續在本地進行日誌工作仍有必要,起碼在調試客戶機的時候不必到中央日誌伺服器查日誌,在中央日誌伺服器出問題的時候還可以幫助調試。

E. Linux下的日誌同步問題分用完了,求好心的高手指點一下。。

1 請您檢查日誌伺服器的防火牆和SELinux 是否有開啟
# iptables -L
# getenforce

如果防火牆開啟了,請用
# service iptables stop
# chkconfig --level 35 iptables off
關閉

如果SELinux開啟了,請用
# setenforce 0
關閉,並編輯
/etc/selinux/config
把 SELINUX 改為 disabled

2 請你檢查日誌伺服器的 /etc/sysconfig/syslog 配置文件里
SYSLOGD_OPTIONS 選項 -r -x 是否有配置

3 請檢查日誌發送端 /etc/syslog.conf 接收端配置是否正確

F. linux中的日誌怎麼把剛跑的日誌拷到另一個文件中

試試用文件同步軟體:rsync

G. linux日誌文件的管理、備份及日誌伺服器的搭建

日誌文件存放目錄: /var/log

[root@xing log]# cd /var/log

[root@xing log]# ls

messages:系統日誌

secure:登錄日誌

————————————————

日誌管理服務文件: vim /etc/rsyslog.conf

日誌記錄的日誌級別:最不嚴重 -> 最嚴重

debug, info, notice, warning, warn (same as warning), err, error (same

as err), crit, alert, emerg, panic (same as emerg)

測試提示:

[ming@xing etc]$ logger -p authpriv.emerg "==mingeror=="

[ming@xing etc]$

Message from syslogd@xing at Jul 18 11:00:41 ...

root: ==mingeror==

登錄日誌的錯誤信息同步寫入 「/var/log/secure 」 文件中

————————————————

日誌的異地備份

日誌的異地備份至關重要。防止別人拿到你的root許可權;用命令:echo "" > /var/log/secure 直接清空你的登錄日誌。

配置需備份日誌的客戶機(172.168.0.254):

[root@xing etc]# vim rsyslog.conf

————————————————

配置文件修改:

#*.* @@remote-host:514

authpriv.* @@172.168.0.1:514

————————————————

[root@xing etc]# setenforce 0 //執行setenforce 0 表示 臨時關閉 selinux防火牆。

[root@xing etc]# getenforce

Permissive

[root@xing etc]# service rsyslog restart

————————————————

配置日誌記錄伺服器(172.168.0.1):

[root@xing etc]# vim rsyslog.conf

————————————————

開啟接收埠模塊

# Provides TCP syslog reception

$ModLoad imtcp

$InputTCPServerRun 514

———

配置備份的數據源及日誌備份存放文件

:fromhost-ip,isequal,「172.168.0.254」 /var/log/client/172.168.0.254.log

————————————————

[root@xing etc]# service rsyslog restart

———————

ss -antpl | grep 514

————————————————

注意:配置成功需關閉雙方伺服器的防火牆,或者修改防火牆配置。

H. linux機器上有一個日誌文件 不斷在更新 現在需要當它更新時把更新的幾行同步到另一個文件中 請問

python">#!/usr/bin/env
#coding:utf-8

classTail(object):
def__init__(self,filename):
self.filename=filename
indexes=self._getlineidxes()
self.pos=indexes[-10]
lastlines=self.__call__()
print''.join(lastlines)

def__call__(self):
pos,lastlines=self._getlastlines(self.pos)
self.pos=pos
returnlastlines

def_getlineidxes(self):
indexes=[]
withopen(self.filename,'rt')ashandle:
ln=0
line=handle.readline()
whileline:
indexes.append(handle.tell())
line=handle.readline()
returnindexes

def_getlastlines(self,pos):
withopen(self.filename,'rt')ashandle:
handle.seek(pos)
lines=handle.readlines()
pos=handle.tell()
returnpos,lines


if__name__=="__main__":
importsys
iflen(sys.argv)<2:
print"usagepythontail.py<filename>"
sys.exit()

tail=Tail(sys.argv[1])
printtail()
raw_input("nowyoucanwaitthefilechange,thenpreessEntercontinue.")
printtail()

I. linux中的rsync同步怎麼配置

一、rsync簡介
用於替代rcp的一個工具,rsync可以通過rsh或ssh使用,也能以daemon模式去運行,在以daemon方式運行時rsync
server會開一個873埠,等待客戶端去連接,連接時,rsync
server會檢查口令是否相符,若通過口令查核,則可以通過進行文件傳輸,第一次連通完成時,會把整份文件傳輸一次,以後則就只需進行增量備份;

二、rsync常用參數
-v,--verbose 詳細模式輸出;
-a,--archive 歸檔模式,表示以遞歸的方式傳輸文件,並保持所有文件屬性不變,相當於使用了組合參數-rlptgoD;
-r, --recursive 對子目錄以遞歸模式處理;
-l, --links 保留軟鏈結;
-p, --perms 保持文件許可權;
-t, --times 保持文件時間信息;
-g, --group 保持文件屬組信息;
-o, --owner 保持文件屬主信息;
-D, --devices 保持設備文件信息;
-H, --hard-links 保留硬鏈結;
-S, --sparse 對稀疏文件進行特殊處理以節省DST的 空間;
--delete 刪除那些DST中SRC沒有的文件;
-z, --compress 對備份的文件在傳輸時進行壓縮處理;

三、rsync的六種不同的工作模式;
1)拷貝本地文件;
當SRC和DES路徑信息中不包含冒號":"分隔符時,就啟用這種工作模式:
[root@cmmailapp1 /]# rsync -avSH /home/coremail/ /cmbak/

2)使用一個遠程shell程序(如rsh、ssh)來實現將本地機器的內容拷貝到遠程機器,當DST路徑地址包括冒號":"分隔符時啟動該模式;
[root@cmmailapp1 /]# rsync -avSH /home/coremail/ 192.168.11.12:/home/coremail/

3)使用一個遠程shell程序(如rsh、ssh)來實現將遠程機器的內容拷貝到本地機器,當SRC地址路徑包括冒號":"分隔符時啟動該模式;
[root@cmmailapp2 /]# rsync -avSH 192.168.11.11:/home/coremail/ /home/coremail/

4)從遠程rsync伺服器中拷貝文件到本地機。當SRC路徑信息包含"::"分隔符時啟動該模式。
如:rsync -av [email protected]::www /databack

5)從本地機器拷貝文件到遠程rsync伺服器中。當DST路徑信息包含"::"分隔符時啟動該模式。
如:rsync -av /databack [email protected]::www

6)列遠程機的文件列表。這類似於rsync傳輸,不過只要在命令中省略掉本地機信息即可。
如:rsync -v rsync://192.168.11.11/data

四、rsync服務端的配置;
環境:192.168.11.11為生產機;192.168.11.12為備份機;
那麼需要192.168.11.11需要作為rsync的client;
192.168.11.12作為rsync的service端;

1、192.168.11.12_service端的配置;
1)[root@cmmailapp2 data]# touch /etc/rsyncd.conf //此文件為rsync的主配置問題,默認不存在需要手動創建;
2)定義同步的配置;
[root@cmmailapp2 data]# cat /etc/rsyncd.conf
[data]
path = /data/
auth users = coremail
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no

[mysql]
Path = /home/coremail/var/mysql
auth users = coremail
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no

[cmxt]
Path = /home/coremail/
auth users = coremail
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no

3)定義密碼文件/etc/rsyncd.secrets
[root@cmmailapp2 data]# cat /etc/rsyncd.secrets
coremail:coremail

4)啟動rsync啟動服務
[root@cmmailapp2 data]# cat /etc/xinetd.d/rsync
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = yes //需要修改為no;
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}

[root@cmmailapp2 data]# chkconfig --level 2345 rsync on
[root@cmmailapp2 data]# chkconfig rsync on
[root@cmmailapp2 data]# chkconfig --level 2345 xinetd on
[root@cmmailapp2 data]# service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]

2、192.168.11.11_client端的配置;
[root@cmmailapp1 /]# cat /etc/rsyncd.secrets
coremail

[root@cmmailapp1 /]# rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/[email protected]::data
[root@cmmailapp1 /]# rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/[email protected]::mysql
[root@cmmailapp1 /]# rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/[email protected]::cmxt

五、定義定時自行rsync同步,指定同步的日誌所在的路徑/var/log/rsync/下;
[root@cmmailapp1 log]# cat /root/rsync.sh
DATE=`date +%Y%m%d%H%M`
rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/ [email protected]::data>/var/log/rsync.date.$DATE
rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/ [email protected]::mysql>/var/log/rsync.mysql.$DATE
rsync -aSvH --password-file=/etc/rsyncd.secrets /home/coremail/ [email protected]::cmxt>/var/log/rsync.cmxt.$DATE

chmod u+x /root/rsync.sh

[root@cmmailapp1 log]# crontab -l
0 3 * * * /root/rsync.sh

執行時候的日子記錄文件:
[root@cmmailapp1 log]# ls |grep 'rsync'
rsync.cmxt.201110180915
rsync.date.201110180915
rsync.mysql.201110180915

閱讀全文

與日誌同步linux相關的資料

熱點內容
明日之後安卓太卡怎麼辦 瀏覽:502
如何使用命令方塊找到村莊 瀏覽:766
泛函壓縮映像原理 瀏覽:521
win10清除文件夾瀏覽記錄 瀏覽:964
如何查看伺服器域中所有服務 瀏覽:384
學mastercam91編程要多久 瀏覽:999
如何查伺服器地址和埠 瀏覽:911
教學雲平台app怎麼下載 瀏覽:389
單片機510教學視頻 瀏覽:624
陝西信合app怎麼查看自己的存款 瀏覽:663
風冷冰箱有壓縮機 瀏覽:274
android實現wifi連接wifi 瀏覽:669
飛豬app怎麼幫別人值機 瀏覽:924
筆記本開我的世界伺服器地址 瀏覽:546
怎樣隱藏bat命令 瀏覽:127
android開發創意 瀏覽:138
京劇貓為什麼進不去伺服器 瀏覽:784
怎麼自己免費製作一個手機app 瀏覽:582
python同時迭代兩個變數 瀏覽:740
好分數app家長版怎麼刪除孩子 瀏覽:426