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日誌沒有自動清理的功能,一般採用切割日誌的方法進行處理。