『壹』 linux 日誌文件大小怎麼調整,求高手!!
案例以CentOS版本Linux調整日誌文件系統大小,調整/u01文件系統大小,增加10G,方法如下:
1、查看當前日誌文件系統大小
[root@ora11g~]#df-h
FilesystemSizeUsedAvailUse%Mountedon
/dev/mapper/VolGroup00-LogVol00
9.7G2.4G6.9G26%/
/dev/mapper/VolGroup00-LogVol02
9.7G9.0G265M98%/u01
/dev/hda199M15M80M16%/boot
tmpfs2.0G528M1.5G27%/dev/shm
2、用lvresize命令調整LVM邏輯卷的空間大小
[root@ora11g~]#lvresize-L+10G/dev/VolGroup00/LogVol02
.00GB
3、用resize2fs命令擴展linux下該日誌分區大小
[root@ora11g~]#resize2fs/dev/VolGroup00/LogVol02
resize2fs1.39(29-May-2015)
Filesystemat/dev/VolGroup00/LogVol02ismountedon/u01;on-lineresizingrequired
Performinganon-lineresizeof/dev/VolGroup00/LogVol02to5242880(4k)blocks.
Thefilesystemon/dev/VolGroup00/.
4、使用df -h命令查看該日誌文件分區大小,已增加20G。
[root@ora11g~]#df-h
FilesystemSizeUsedAvailUse%Mountedon
/dev/mapper/VolGroup00-LogVol00
9.7G2.4G6.9G26%/
/dev/mapper/VolGroup00-LogVol02
20G9.0G9.5G49%/u01
/dev/hda199M15M80M16%/boot
tmpfs2.0G528M1.5G27%/dev/shm
[root@ora11g~]#
『貳』 linux.at 命令怎麼用
一次性定時計劃任務的at命令的用法!
1.命令格式:
at[參數][時間]
2.命令功能:
在一個指定的時間執行一個指定任務,只能執行一次,且需要開啟atd進程(
ps -ef | grep atd查看, 開啟用/etc/init.d/atd start or restart; 開機即啟動則需要運行 chkconfig --level 2345 atd on)。
3.命令參數:
-m 當指定的任務被完成之後,將給用戶發送郵件,即使沒有標准輸出
-I atq的別名
-d atrm的別名
-v 顯示任務將被執行的時間
-c 列印任務的內容到標准輸出
-V 顯示版本信息
-q<列隊> 使用指定的列隊
-f<文件> 從指定文件讀入任務而不是從標准輸入讀入
-t<時間參數> 以時間參數的形式提交要運行的任務 《Linux就該這么學》
使用實例:
實例1:三天後的下午 5 點鍾執行 /bin/ls
命令:
at 5pm+3 days
輸出:
[root@localhost ~]# at 5pm+3 days
at> /bin/ls
at> <EOT>
job 7 at 2013-01-08 17:00
[root@localhost ~]#
說明:
實例2:明天17點鍾,輸出時間到指定文件內
命令:
at 17:20 tomorrow
輸出:
[root@localhost ~]# at 17:20 tomorrow
at> date >/root/2013.log
at> <EOT>
job 8 at 2013-01-06 17:20
『叄』 linux中at命令
linux
at
命令詳解
使用方式
:
at
-V
[-q
queue]
[-f
file]
[-mldbv]
TIME
說明
:
at
可以讓使用者指定在
TIME
這個特定時刻執行某個程序或指令,TIME
的格式是
HH:MM其中的
HH
為小時,MM
為分鍾,甚至你也可以指定
am,
pm,
midnight,
noon,
teatime(就是下午
4
點鍾)等口語詞。
如果想要指定超過一天內的時間,則可以用
MMDDYY
或者
MM/DD/YY
的格式,其中
MM
是分鍾,DD
是第幾日,YY
是指年份。另外,使用者甚至也可以使用像是
now
+
時間間隔來彈性指定時間,其中的時間間隔可以是
minutes,
hours,
days,
weeks。
另外,使用者也可指定
today
或
tomorrow
來表示今天或明天。當指定了時間並按下
enter
之後,at
會進入交談模式並要求輸入指令或程序,當你輸入完後按下
ctrl+D
即可完成所有動作,至於執行的結果將會寄回你的帳號中。
參數
:
-V
:
印出版本編號
-q
:
使用指定的佇列(Queue)來儲存,at
的資料是存放在所謂的
queue
中,使用者可以同時使用多個
queue,而
queue
的編號為
a,
b,
c...
z
以及
A,
B,
...
Z
共
52
個
-m
:
即使程序/指令執行完成後沒有輸出結果,
也要寄封信給使用者
-f
file
:
讀入預先寫好的命令檔。使用者不一定要使用交談模式來輸入,可以先將所有的指定先寫入檔案後再一次讀入
-l
:
列出所有的指定
(使用者也可以直接使用
atq
而不用
at
-l)
-d
:
刪除指定
(使用者也可以直接使用
atrm
而不用
at
-d)
-v
:
列出所有已經完成但尚未刪除的指定
『肆』 linux使用at命令在文件中寫入內容,為什麼到了時間文件中沒有內容寫入
計劃任務設定後,在沒有執行之前我們可以用atq命令來查看系統沒有執行工作任務
命令: atq
只能查看的日誌了。/var/log/messages 看有沒有執行記錄。如果沒有,那就是任務寫的問題。
『伍』 linux下怎麼用syslog記錄日誌文件
1 syslogd的配置文件
syslogd的配置文件/etc/syslog.conf規定了系統中需要監視的事件和相應的日誌的保存位置
cat /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages #除了mail/news/authpriv/cron以外,將info或更高級別的消息送到/var/log/messages,其中*是通配符,代表任何設備;none表示不對任何級別的信息進行記錄
# The authpriv file has restricted access.
authpriv.* /var/log/secure #將authpirv設備的任何級別的信息記錄到/var/log/secure文件中,這主要是一些和認證,許可權使用相關的信息.
# Log all the mail messages in one place.
mail.* -/var/log/maillog #將mail設備中的任何級別的信息記錄到/var/log/maillog文件中, 這主要是和電子郵件相關的信息.
# Log cron stuff
cron.* /var/log/cron #將cron設備中的任何級別的信息記錄到/var/log/cron文件中, 這主要是和系統中定期執行的任務相關的信息.
# Everybody gets emergency messages
*.emerg * #將任何設備的emerg級別或更高級別的消息發送給所有正在系統上的用戶.
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler #將uucp和news設備的crit級別或更高級別的消息記錄到/var/log/spooler文件中.
# Save boot messages also to boot.log
local7.* /var/log/boot.log #將和本地系統啟動相關的信息記錄到/var/log/boot.log文件中.
2. syslogd語法
該配置文件的每一行的格式如下:
facility.priority action 設備.級別 動作
3. Syslogd設備欄位
設備欄位用來指定需要監視的事件.它可取的值如下:
authpriv cron daemon kern lpr syslog user uucp mail news
報告認證活動通常,口令等私有信息不會被記錄 報告與cron和at有關的信息 報告與xinetd有關的信息 報告與內核有關的信息 報告與列印服務有關的信息 由syslog生成的信息 報告由用戶程序生成的任何信息由UUCP生成的信息 報告與郵件服務有關的信息 報告與網路新聞服務有關的信息
4. syslogd級別欄位
級別欄位用於指明與每一種功能有關的級別和優先順序:
alert crit err warning notice info debug none * emerg
需要立即引起注意的情況 危險情況的警告 除了emerg,alert,crit的其他錯誤 警告信息需要引起注意的情況 值得報告的消息 由運行於debug模式的程序所產生的消息 用於禁止任何消息 所有級別,除了none 出現緊急情況使得該系統不可用
5. syslogd動作欄位
動作欄位用於描述對應功能的動作
file username device @hostname
指定一個絕對路徑的日誌文件名記錄日誌信息 發送信息到指定用戶,*表示所有用戶 將信息發送到指定的設備中,如/dev/console將信息發送到可解析的遠程主機hostname,且該主機必須正在運行syslogd並可以識別syslog的配置文件
6. 查看日誌文件
常見的日誌文件日誌文件通常存放在/var/log目錄下.在該目錄下除了包括syslogd 記錄的日誌之外,同時還包含所有應用程序的日誌. 為了查看日誌文件的內容必須要有root許可權.日誌文件中的信息很重要,只能讓超級用戶有訪問這些文件的許可權.
7. log
cups/ httpd/ mail/ news/ boot.log dmesg maillog messages secure wtmp
存儲CUPS列印系統的日誌目錄 記錄apache的訪問日誌和錯誤日誌目錄 存儲mail日誌目錄 存儲INN新聞系統的日誌目錄 記錄系統啟動日誌記錄系統啟動時的消息日誌 記錄郵件系統的日誌 由syslogd記錄的info或更高級別的消息日誌 由syslogd記錄的認證日誌 一個用戶每次登錄進入和退出時間的永久記錄
8. 查看文本日誌文件
絕大多數日誌文件是純文本文件,每一行就是一個消息.只要是在Linux下能夠處理純文本的工具都能用來查看日誌文件.可以使用 cat,tac, more,less,tail和grep進行查看文件中每一行表示一個消息,而且都由四個域的固定格式組成: 時間標簽(Timestamp):表示消息發出的日期和時間. 主機名(Hostname):表示生成消息的計算機的名字. 生成消息的子系統的名字:可以是"Kernel",表示消息來自內核或者 是進程的名字,表示發出消息的程序的名字. 在方括弧里的是進程的PID. 消息(Message),即消息的內容.
syslog發出的消息,說明了守護進程已經在 Dec 16,03:32:41 重新啟動了. Dec 16 03:32:41 cnetos5 syslogd 1.4.1: restart. # 在 Dec 19,00:20:56 啟動了內核日誌 klogd Dec 19 00:20:56 cnetos5 kernel: klogd 1.4.1, log source = /proc/kmsg started. # 在 Dec 19,00:21:01 啟動了xinetd Dec 19 00:21:01 cnetos5 xinetd[2418]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
9. 查看非文本日誌文件Lastlog
也有一些日誌文件是二進制文件,需要使用相應的命令進行讀取.
使用lastlog命令來檢查某特定用戶上次登錄的時間,並格式化輸出上次登錄日誌 /var/log/lastlog 的內容
rpc **從未登錄過** rpcuser **從未登錄過** sshd **從未登錄過** pcap **從未登錄過** haldaemon **從未登錄過** xfs **從未登錄過** gdm **從未登錄過** boobooke **從未登錄過** baobao pts/1 192.168.1.2 三 11月 26 12:44:32 +0800 2008 abc **從未登錄過** test pts/1 192.168.1.5 四 11月 27 17:30:53 +0800 2008 test01 **從未登錄過**
last命令往回搜索/var/log/wtmp來顯示自從文件第一次創建以來登錄過用戶
root pts/1 116.226.69.195 Fri Aug 31 15:48 - 18:37 (02:49)
10. 查看非文本日誌文件lastb
lastb命令搜索/var/log/btmp來顯示登錄未成功的信息.
root ssh:notty 222.143.27.97 Thu Sep 6 19:43 - 19:43 (00:00)
11. 查看非文本日誌文件who
who命令查詢wtmp文件並報告當前登錄的每個用戶.who命令的預設輸出包括用戶名,終端類型,登錄日期及遠程主機.
[root@server ~]# who
root pts/0 2012-09-08 10:18 (116.226.69.195)
[root@server ~]# w
10:41:31 up 212 days, 20:19, 1 user, load average: 0.21, 0.16, 0.14
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 116.226.69.195 10:18 0.00s 0.09s 0.00s w
12.日誌滾動
為什麼使用日誌滾動所有的日誌文件都會隨著時間的推移和訪問次數的增加而迅速增長,因此必須對日誌文件進行定期清理以免造成磁碟空間的不必要的浪費.同時也 加快了管理員查看日誌所用的時間,因為打開小文件的速度比打開大文件的速度要快.
Logrotate 其命令格式為: logrotate [選項] <configfile>
-d:詳細顯示指令執行過程,便於排錯或了解程序執行的情況.
-f:強行啟動記錄文件維護操作,即使logrotate指令認為無需要亦然 -m command:指定發送郵件的程序,默認為 /usr/bin/mail. -s statefile:使用指定的狀態文件. -v:在執行日誌滾動時顯示詳細信息.
13. 日誌滾動
logrotate 默認的主配置文件是 /etc/logrotate.conf /etc/logrotate.d 的目錄下的文件,這些文件被 include 到主配置文件 /etc/logrotate.conf 中
# see "man logrotate" for details # 每周清理一次日誌文件
weekly #保存過去四周的日誌文件
rotate 4 #清除舊日誌文件的同時,創建新的空日誌文件
create #若使用壓縮的日誌文件,請刪除下面行的注釋符
#compress #包含/etc/logrotate.d目錄下的所有配置文件
include /etc/logrotate.d #設置/var/log/wtmp的日誌滾動
/var/log/wtmp {
monthly
minsize 1M
create 0664 root utmp
rotate 1
}
可以使用ls命令顯示/etc/logrotate.d目錄:
[root@server ~]# ls /etc/logrotate.d
mgetty psacct rpm setroubleshoot snmpd syslog yum
每個文件的基本格式均相同
[root@server ~]# cat /etc/logrotate.d/syslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron { #對日誌文件
sharedscripts #調用日誌滾動通用函數sharedscripts
postrotate #在日誌滾動之後執行語句括弧postrotate和endscript之間的命令postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true #重新啟動syslogd
endscript
}
logrotate是由crond運行的,在默認配置中,可以發現在/etc/cron.daily目錄中有一個名為logrotate的文件
[root@server ~]# cat /etc/cron.daily/logrotate
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
『陸』 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
————————————————
注意:配置成功需關閉雙方伺服器的防火牆,或者修改防火牆配置。