導航:首頁 > 操作系統 > 清理Linuxlog

清理Linuxlog

發布時間:2023-02-05 08:12:40

linux系統 /var/log/journal/ 垃圾日誌清理

查看某個目錄的文件大小並排序 (單位為MB)

清空 /var/log/journal 文件的方法

1、用echo命令,將空字元串內容重定向到指定文件中

echo "" > system.journal

2、journalctl 命令自動維護文件大小

1)只保留近一周的日誌

journalctl --vacuum-time=1w

2)只保留500MB的日誌

journalctl --vacuum-size=500M

3)直接刪除 /var/log/journal/ 目錄下的日誌文件

rm -rf /var/log/journal/

問題與分析解決

執行 journalctl時報錯:Error was encountered while opening journal files: Input/output error

問題分析:日誌文件損壞

解決方法:刪除之前的日誌,並重啟 journalctl 服務

然後,再執行 journalctl 限制日誌的命令:

Ⅱ linux自動清理日誌的方法分享

1.做自動部署系統時精簡的一個腳本,主要功能是清理所有目錄的日誌

2.根據給定日誌目錄,刪除時間 結合crontab進行清理日誌,清理完成後,後在/var/log/deltelog/ 生成按照月的清理日誌

3.擴展,因為腳本採用mtime(最後修改時間)進行刪除,所以可以適用於刪除過期備份等,不受文件名稱的限制

shell小竅門

find –type f –print 時會根據換行或者空格來輸出查找的文件,在不同的sh下有不同的`反應,如果不做處理結合xargs 進行刪除 更改操作,會有影響

所以需要增加 –print0 用 null來 作為邊界符號,才敢結婚 xargs –o 來格式化輸入

使用find 的時候 遵循最小結果集原則,find解析式從左到右,所有確保你在最左邊的過濾符號能夠過濾最大數據

你可以根據你的需要增加到crontab中

shell腳本

復制代碼 代碼如下:

#!/bin/sh

###########################

# log blog.plicatedcode.com

# in_day_num: like 1 2 is 2day ago logs

# in_log_path like tomcat log home

###########################

in_log_path=${1}

in_day_num=${2}

tmp__log=/var/log/log/"`date +%Y%m`.log"

Log()

{

inner_num=${1}

#find log

echo "[`date`] >> start logs---" >> $tmp__log

find ${in_log_path} -type f -mtime ${inner_num} -print0 | xargs -0 rm -rf

echo "[`date`] >> end logs---" >> $tmp__log

}

init()

{

mkdir -p /var/log/log/

}

main()

{

init

if [ -z ${in_log_path} ];then

echo "[`date`] >> error log_path not init---" >> $tmp__log

return

fi

inner_day_num=+7

if [[ -n ${in_day_num} ]] && [[ ${in_day_num} -ge 1 ]] ; then

${inner_day_num}=${in_day_num}

fi

Log ${inner_day_num}

}

main

Ⅲ 定期清理linux伺服器日誌文件的幾個思路

定期清理linux伺服器日誌文件的幾個思路



1,在跑批程序中,用java代碼調用shell腳本;
2,在跑批程序中,用純java代碼實現,也就是使用java的文件操作類File;
3,純shell腳本方式,使用linux伺服器的調度程序調用shell腳本;


結合最近的項目,這里提供一個示例。首先,我們是在跑批項目中實現的定期清理日誌功能,
因為我們有跑批項目,使用的是Control M進行調度,所以這種方式還是很方便的。

第一步:寫shell腳本

find /home/logs/ -mtime +30 -name "*.log" -exec rm -rf {} ;

腳本其實很簡單,一行代碼就夠了,把這個代碼放在一個shell文件中,然後放在伺服器的
指定目錄下,等待java程序調用。


第二步:寫java代碼,調用shell腳本,示例代碼僅提供思路,請大家自己調試

// 設置可執行許可權
String commond = "chmod 777 clearLogFileOnTime.sh";
Process proc = Runtime.getRuntime().exec(commond);
proc.waitFor();


// 執行shell腳本
commond = "bash clearLogFileOnTime.sh";
proc = Runtime.getRuntime().exec(commond);

第三步:配置Control M,進行作業調度


關於Control M的配置不再贅述,主要就是設置跑批程序的執行時間,以及一些其他參數。

Ⅳ 在Linux下如何清除系統日誌

使用過Windows的人都知道,在使用windows系統的.過程中系統會變得越來越慢。而對於Windows下飽受詬病的各種垃圾文件都需要自己想辦法刪除,不然系統將會變得越來越大,越來越遲鈍!windows怎麼清理垃圾相信大家都知道的,那麼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 刪除系統不再使用的孤立軟體

Ⅳ 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

Ⅵ Oracle Windows/Linux定期清理歸檔日誌

DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; //刪除七天前的歸檔日誌

* 注意修改文件路徑

下圖是根據上面教程創建的兩個文件

(1)、先查看歸檔日誌路徑,確認歸檔日誌文件信息情況。

更改過歸檔日誌路徑的情況查看,執行 archive log list;

輸入內容,注意修改 /data/oracle/del_archivelog/ 路徑

注意賦予文件的可執行許可權,執行 chmod 777 del_archivelog.sh

寫入內容,每天凌晨4點執行腳本 del_archivelog.sh ,並將執行結果輸出到 task.log

查看crontab所有定時任務,執行 crontab -l

到此整個Linux下的配置已結束,注意定期觀察任務的運行情況。

Ⅶ linux刪除日誌文件的命令

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

Ⅷ linux日誌清理腳本清理不掉

linux是一個很能自動產生文件的系統,日誌、郵件、備份等。雖然現在硬碟廉價,我們可以有很多硬碟空間供這些文件浪費,讓系統定時清理一些不需要的文件很有一種爽快的事情。不用你去每天惦記著是否需要清理日誌,不用每天收到硬碟空間不足的報警簡訊,想好好休息的話,讓我們把這個事情交給機器定時去執行吧。

二、 分析日誌
查看日誌路徑和日誌命名規則:

要清理這個目錄下面如此命名規則的日誌。

三、方法
這時我想的肯定是希望能寫一個腳本把這些日誌清除掉,但不是刪除掉。那麼現在需要實現3步:

         1.找到所有項目的log的位置

         2.清除或者刪除log內容

         3.定時執行腳本

刪除和清空日誌命令:

find 對應目錄 -mtime +天數 -name "文件名" -exec rm -rf {} \;

實例命令:

find /opt/soft/log/ -mtime +7 -name "*.log" -exec rm -rf {} \;

說明:

將/opt/soft/log/目錄下所有7天前帶".log"的文件刪除。具體參數說明如下:

find:linux的查找命令,用戶查找指定條件的文件;

/opt/soft/log/:想要進行清理的任意目錄;

-mtime:標准語句寫法;

+7:查找7天前的文件,這里用數字代表天數;

"*.log":希望查找的數據類型,"*.jpg"表示查找擴展名為jpg的所有文件,"*"表示查找所有文件,這個可以靈活運用,舉一反三;

-exec:固定寫法;

rm -rf:強制刪除文件,包括目錄;

{} \; :固定寫法,一對大括弧+空格+\+;

清空方法:

find /opt/soft/log/ -mtime +7 -name "*.log" -type f -print -exec truncate -s 0 {} \;    ->將符合這樣一個條件的文件查到出來並賦予它0M的大小。

-type f -print: 將符合的文件列印出來

truncate -s 0 aa.txt:意思是將aa.txt的大小變成0M,即把aa.txt的內容清空了

Ⅸ 如何清除Linux系統日誌

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

Ⅹ linux日誌清理腳本清理不掉怎麼辦

重啟軟體。在linux軟體里,日誌清理腳本清理不掉是系統bug導致的,需要重啟軟體進行解決。Linux,全稱GNU/Linux,是一種免費使用和自由傳播的類UNIX操作系統,其內核由林納斯·本納第克特·托瓦茲於1991年10月5日首次發布。

閱讀全文

與清理Linuxlog相關的資料

熱點內容
windows程序設計核心編程 瀏覽:444
任我充app怎麼開發票 瀏覽:330
人工智慧與編程語言 瀏覽:406
linux網路編程伺服器 瀏覽:800
海爾32cw空調壓縮機電容多大 瀏覽:747
分區加密了該怎麼辦 瀏覽:103
索尼延時拍攝app怎麼導入 瀏覽:226
冰箱冷凍壞了壓縮機一直響 瀏覽:807
windows伺服器如何組建raid0 瀏覽:180
橡膠壓縮空氣管 瀏覽:556
如果出現編譯錯誤如何解決 瀏覽:924
程序員飾品 瀏覽:430
什麼叫網站伺服器站點 瀏覽:686
java轉義字元雙引號 瀏覽:779
網上考場的app怎麼看真假 瀏覽:644
四層電梯的plc編程 瀏覽:899
程序員的職場 瀏覽:662
圓形平面怎麼編程 瀏覽:67
python開源代碼下載 瀏覽:661
如何連接區域網寬頻連接伺服器地址 瀏覽:171