導航:首頁 > 操作系統 > linux清理日誌文件

linux清理日誌文件

發布時間:2022-06-09 16:06:42

A. linux系統的產生的訪問日誌等垃圾怎麼清理

根據自己的需要刪除,可以保留最近3個月或者半年的log,然後把老的日誌都刪除
一般來說linux的
日誌文件
都不會很大,足夠系統持續運行好幾年而不需要刪除日誌

B. 入侵Linux系統後日誌文件及入侵後日誌如何清除

現在可以在網上公開獲得的日誌清除程序代碼很粗糙,我曾經看到過最誇張的清日誌的代碼像這樣:
rm -rf /var/log/lastlog ; rm -rf /var/log/telnetd ; rm -rf /var/run/utmp ; rm -rf /var/log/secure ; rm -rf /root/.ksh_history ; rm -rf /root/.bash_history ; rm -rf /root/.bash_logut ; rm -rf /var/log/wtmp ; rm -rf /etc/wtmp ; rm -rf /var/run/utmp ; rm -rf /etc/utmp ; rm -rf /var/log ; rm -rf /var/adm ; rm -rf /var/apache/log ; rm -rf /var/apache/logs ; rm -rf /usr/local/apache/log ; rm -rf /usr/local/apache/logs ; rm -rf /var/log/acct ; rm -rf /var/log/xferlog ; rm -rf /var/log/messages ; rm -rf /var/log/proftpd/xferlog.legacy ; rm -rf /var/log/proftpd.access_log ; rm -rf /var/log/proftpd.xferlog ; rm -rf /var/log/httpd/error_log ; rm -rf /var/log/httpd/access_log ; rm -rf /etc/httpd/logs/access_log ; rm -rf /etc/httpd/logs/error_log ;rm -rf /var/log/news/suck.notice ; rm -rf /var/spool/tmp ; rm -rf /var/spool/errors ; rm -rf /var/spool/logs ; rm -rf /var/spool/locks ; rm -rf /usr/local/www/logs/thttpd_log ; rm -rf /var/log/thttpd_log ; rm -rf /var/log/ncftpd/misclog.txt ; rm -rf /var/log/ncftpd.errs ; rm -rf /var/log/auth ; rm -rf /root/.bash_history ; touch /root/.bash_history ; history Cr
整個一rm集合,要是伺服器跑了很長時間,積累了很多日誌。你這樣一刪除,的,你幫他省事了,他也省事,一眼就看出有人進來了。
先不說其他,用rm刪除就不可取,正確的刪除文件做法是用shred
shred -n 31337 -z -u file_to_delete
這樣多次擦除才夠安全。

C. 如何清除Linux系統日誌

根據自己的需要刪除,可以保留最近3個月或者半年的log,然後把老的日誌都刪除 一般來說linux的日誌文件都不會很大,足夠系統持續運行好幾年而不需要刪除日誌

D. linux怎樣清理日誌

#!/bin/sh
cat /dev/null > /var/log/syslog
cat /dev/null > /var/adm/sylog
cat /dev/null > /var/log/wtmp
cat /dev/null > /var/log/maillog
cat /dev/null > /var/log/messages
cat /dev/null > /var/log/openwebmail.log
cat /dev/null > /var/log/maillog
cat /dev/null > /var/log/secure
cat /dev/null > /var/log/httpd/error_log
cat /dev/null > /var/log/httpd/ssl_error_log
cat /dev/null > /var/log/httpd/ssl_request_log
cat /dev/null > /var/log/httpd/ssl_access_log

E. linux怎麼清理tomcat日誌

伺服器上的tomcat的catalina.out文件越來越大,查看起來很不方便,以前每次都是想起來的時候手工清理一下(cat
/dev/null > catalina.out),後來發現了logratate這個工具,Ubuntu
下的mysql,nginx好像也是用的這個工具還定期整理log的。配置文件為/etc/logrotate.conf,和很多其它ubuntu下的工
具一下,也可以把配置文件寫在/etc/logrotate.d/下面。如對我們的tomcat的log文件進行整理,sudo vi
/etc/logrotate.d/tomcat,

/opt/tomcat/logs/catalina.out {
rotate 14
daily
truncate
compress
notifempty
missingok
}

其中:
rotate 7 表示保留7天的備份文件
daily 表示每天整理一次
truncate 表示先復制log文件的內容,然後再清空
compress 表示壓縮備分文件
missingok 表示如果找不到log文件也沒OK
notifempty 表示如果log文件是空的,就不進行rotate
可以通過/usr/sbin/logrotate -f /etc/logrotate.conf來執行。Ubuntu
有/etc/cron.daily/logrotate文件,內容為:

#!/bin/sh

test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf

表示每天會定時執行一次這個命令

通過ntp同步伺服器的時間
根據 Ubuntu 的文檔 有兩種方式可以用來使伺服器的時間和ntp server同步。一種是通過ntpdate命令,如

ntpdate ntp.Ubuntu .com

然後在/etc/cron.daily/下新建一個文件來每天執行一次這個命令
另一種是通過ntpd來更新。sudo apt-get install
ntp。配置文件/etc/ntp.conf,可以通過修改配置文件為改變ntp server,
我們用的是210.72.145.44這個server

對於Linux 的系統安全來說,日誌文件是極其重要的工具。系統管理員可以使用logrotate
程序用來管理系統中的最新的事件,對於Linux 的系統安全來說,日誌文件是極其重要的工具。系統管理員可以使用logrotate
程序用來管理系統中的最新的事件。logrotate 還可以用來備份日誌文件,本篇將通過以下幾部分來介紹

日誌文件的管理:

1、logrotate 配置

2、預設配置 logrotate

3、使用include 選項讀取其他配置文件

4、使用include 選項覆蓋預設配置

5、為指定的文件配置轉儲參數

一、logrotate 配置

logrotate
程序是一個日誌文件管理工具。用來把舊的日誌文件刪除,並創建新的日誌文件,我們把它叫做「轉儲」。我們可以根據日誌文件的大小,也可以根據其天數來轉儲,這個過程一般通過
cron 程序來執行。

logrotate 程序還可以用於壓縮日誌文件,以及發送日誌到指定的E-mail 。

logrotate 的配置文件是 /etc/logrotate.conf。主要參數如下表:

參數 功能

compress 通過gzip 壓縮轉儲以後的日誌

nocompress 不需要壓縮時,用這個參數

truncate 用於還在打開中的日誌文件,把當前日誌備份並截斷

notruncate 備份日誌文件但是不截斷

create mode owner group 轉儲文件,使用指定的文件模式創建新的日誌文件

nocreate 不建立新的日誌文件

delaycompress 和 compress 一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮

nodelaycompress 覆蓋 delaycompress 選項,轉儲同時壓縮。

errors address 專儲時的錯誤信息發送到指定的Email 地址

ifempty 即使是空文件也轉儲,這個是 logrotate 的預設選項。

notifempty 如果是空文件的話,不轉儲

mail address 把轉儲的日誌文件發送到指定的E-mail 地址

nomail 轉儲時不發送日誌文件

olddir directory 轉儲後的日誌文件放入指定的目錄,必須和當前日誌文件在同一個文件系統

noolddir 轉儲後的日誌文件和當前日誌文件放在同一個目錄下

prerotate/endscript 在轉儲以前需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行

postrotate/endscript 在轉儲以後需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行

daily 指定轉儲周期為每天

weekly 指定轉儲周期為每周

monthly 指定轉儲周期為每月

rotate count 指定日誌文件刪除之前轉儲的次數,0 指沒有備份,5 指保留5 個備份

tabootext [+] list 讓logrotate 不轉儲指定擴展名的文件,預設的擴展名是:.rpm-orig,
.rpmsave, v, 和 ~

size size 當日誌文件到達指定的大小時才轉儲,Size 可以指定 bytes (預設)以及KB
(sizek)或者MB (sizem).

F. Linux 系統 shell腳本定時 清空系統日誌文件

其實沒有必要寫shell腳本,簡單一句話放在系統定時任務里就行了。
比如你的日誌文件名叫a.log。路徑為/tmp/a.log;
那麼你可以寫個定時任務,這樣做:crontab -e 進入定時任務器,然後把下面這段寫到裡面
00 02 * * * echo " " >/tmp/a.log
然後保存退出就可以了。這段內容意思是,每天凌晨2點自動清空a.log內容。你也可以自己定義多久清一次。比如想10分鍾清一次,就這么寫*/10 * * * * echo " " >/tmp/a.log。具體的crontab時間定義你可以去網路查查。希望對您有用!

G. linux刪除日誌文件的命令

例: vi /var/log/messages :set nu 查看文件中的你要刪除的時間段在幾行之間 如果是100-200行,則將游標放在第100行,按100dd即可刪除。 還有其他方法。看你的具體需求。

H. linux刪除日誌的命令

可直接進去到日誌存儲地方,用rm x -rf,刪除日誌即可,x為你要刪除的日誌文件。

I. linux怎麼清理系統日誌

Linux的文件系統比Windows的要優秀,不會產生碎片,對於長時間運行的伺服器來說尤為重要,而且Linux系統本身也不會像Windows一樣產生大量的垃圾文件。不知道這個說法有沒有可信度!至少我們可以確定的是linux系統的文件系統是比較優秀的!

錯誤
rm -f logfile
原因
應用已經打開文件句柄,直接刪除會造成:
1.應用無法正確釋放日誌文件和寫入
2.顯示磁碟空間未釋放
正確
cat /dev/null > logfile
把一下代碼保存為.sh後綴腳本來運行即可清除Linux系統日誌
#!/bin/sh
cat /dev/null > /var/log/syslog
cat /dev/null > /var/adm/sylog
cat /dev/null > /var/log/wtmp
cat /dev/null > /var/log/maillog
cat /dev/null > /var/log/messages
cat /dev/null > /var/log/openwebmail.log
cat /dev/null > /var/log/maillog
cat /dev/null > /var/log/secure
cat /dev/null > /var/log/httpd/error_log
cat /dev/null > /var/log/httpd/ssl_error_log
cat /dev/null > /var/log/httpd/ssl_request_log
cat /dev/null > /var/log/httpd/ssl_access_log
另外清理linux系統垃圾還有以下命令
sudo apt-get autoclean 清理舊版本的軟體緩存
sudo apt-get clean 清理所有軟體緩存
sudo apt-get autoremove 刪除系統不再使用的孤立軟體

J. 如何定時清理Linux系統中的Nginx日誌

nginx日誌文件需要手動分割,創建腳本文件clear_log.sh
文件路徑/usr/local/nginx/clear_log.sh
vi clear_log.sh。輸入如下內容
#!/bin/bash
cp /usr/local/nginx/logs/error.log /usr/local/nginx/error-$(date -d 「yesterday」 +「%Y%m%d」).log
#先復制原來的錯誤日誌文件,請根據自己實際的日誌路徑填寫
cat /dev/null 》 /usr/local/nginx/logs/error.log
#清空錯誤日誌文件
cp/usr/local/nginx/logs/access.log /var/log/nginx/access/access-$(date -d 「yesterday」 +「%Y%m%d」).log
#先復制原來的正常訪問日誌
cat /dev/null 》 /usr/local/nginx/logs/access.log
#清空原來的正常訪問日誌
創建dellog.sh文件,路徑/usr/local/nginx
vi dellog.sh
#!/bin/sh
find /usr/nginx/logs/error -mtime +7 -type f -name /*.log | xargs rm -f
find /usr/nginx/logs/access -mtime +7 -type f -name /*.log | xargs rm -f
#定期刪除七天前的日誌文件
啟動linux下的計劃任務,將剛才創建好的兩個shell腳本加入此計劃
crontab -e,輸入如下內容
0 0 * * * /usr/nginx/clear_log.sh
#每天0點執行/usr/nginx/clear_log.sh
0 0 * * * /usr/nginx/dellog.sh
#每天0點執行 /usr/nginx/dellog.sh
保存後退出,輸入命令crontab root就會看到/var/spool/cron/文件夾下看到相應的副本文件root。至此完成nginx日誌按天拆分與定期清除。
邏輯詳解:比如現在是3月18日0點0分,系統會自動執行clear_log.sh與dellog.sh兩個shell腳本。clear_log.sh會把3月17日的日誌文件分別生成為access_20140317.log與error_20140318.log,然後把原來的access.log與error.log分別清空。dellog.sh則會自動判斷該文件的創建時間,如果是十五天前的就會自動清除
上面就是Linux清理Nginx日誌的方法介紹了,因為Nginx日誌沒有自動清理的功能,一般採用切割日誌的方法進行處理。

閱讀全文

與linux清理日誌文件相關的資料

熱點內容
程序員便當排骨 瀏覽:850
如何禁用安卓全家桶 瀏覽:259
oa伺服器異常怎麼辦 瀏覽:69
cmd編譯utf8 瀏覽:278
怎麼截取app接受的數據 瀏覽:277
nrf24l01pdf 瀏覽:299
php字元串轉array 瀏覽:435
U盤分了文件夾後 瀏覽:941
javasetstring 瀏覽:838
壓縮包里文件夾是白色的 瀏覽:473
編譯鏈接知乎 瀏覽:592
php查詢按鈕 瀏覽:716
有音響游戲解壓神器 瀏覽:254
怎麼壓縮圖片jpeg 瀏覽:714
澳大利亞net程序員 瀏覽:580
程序員加班難受 瀏覽:991
如何看伺服器品牌 瀏覽:257
ecy50clp壓縮機多少W 瀏覽:756
mac終端命令怎麼保存 瀏覽:851
微信公眾號圖片壓縮 瀏覽:442