linux命令清除日志,Linux 刪除日志

linux日志清理腳本清理不掉

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

創新互聯公司主營賓川網站建設的網絡公司,主營網站建設方案,App定制開發,賓川h5成都小程序開發搭建,賓川網站營銷推廣歡迎賓川等地區企業咨詢

二、 分析日志

查看日志路徑和日志命名規則:

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

三、方法

這時我想的肯定是希望能寫一個腳本把這些日志清除掉,但不是刪除掉。那么現在需要實現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刪除日志的命令

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

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/f9d400c5e1e8c3a8209e990d887d4ac1

問題與分析解決

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

問題分析:日志文件損壞

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

然后,再執行 journalctl 限制日志的命令:

在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定時清理nohup命令下產生的日志

nohup命令 將程序以忽略掛起信號的方式運行起來,被運行的程序的輸出信息將不會顯示到終端。一般用于將程序的輸出、報錯信息重定向到一個指定路徑的指定文件。

語法 :nohup [command] [args] [] ? ?

nohup命令 最后要帶個作為結束

例:nohup python XXX.py abc/def/XXX.log 21

args: 0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;

21是將標準錯誤(2)重定向到標準輸出(1),標準輸出(1)再被重定向輸入到文件,即XXX.log中。

nohup命令的缺點:日志文件文件越來越大,占內存且查看麻煩。因為這個日志文件和程序是共生死的,因為只要程序運行起來,就一直對log文件進行讀寫,直接刪除XXX.log會導致程序也被結束了。

目前想到的一些相關方法如下,并未完全解決問題。

參考: linux下nohup日志輸出過大問題解決方案

split命令:

參數:-b:值為每一輸出檔案的大小,單位為 byte。

? ? ?? -C:每一輸出檔中,單行的最大 byte 數。

? ? ?? -d:使用數字作為后綴。默認這個數字后綴是兩位的,例如00,01,11. -a: 指定位數,例如 -a 4表示后綴是四位的。

? ? ?? -l:值為每一輸出檔的列數大小。

? ? ?? PREFIX:代表前導符,可作為切割文件的前導文件。

例如:

可以用split命令把很大的日志文件分成多個小文件,分割完成后 原文件不變 。不會影響nohup運行的程序。

缺點:split文件分割依賴手動,當程序出故障或調試時,將日志分割以便查看最新的日志信息。沒法定時做到定時自動清理。

首先介紹find命令的參數

參考: linux find命令詳解

在這里主要用到的是這幾個參數:

-atime n 查找系統中最后n*24小時訪問的文件

-ctime n? 查找系統中最后n*24小時被改變文件狀態的文件

-mtime n? 查找系統中最后n*24小時被改變文件數據的文件

+n: n天前; -n: n天之內

find命令還可以和下一條命令連用(xargs或exec)

注:{}表示find到的東西;{}和 \;之間要有一個空格

我感覺exec不是很好用,怪怪的

cat dev/null

在 Linux 中, null 設備基本上被用來丟棄某個進程不再需要的輸出流,或者作為某個輸入流的空白文件,這些通常可以利用重定向機制來達到。

所以 /dev/null 設備文件是一個特殊的文件,它將清空送到它這里來的所有輸入,而它的輸出則可被視為一個空文件。另外,你可以通過使用 cat 命令顯示 /dev/null 的內容然后重定向輸出到某個文件,以此來達到清空該文件的目的。通過使用cat /dev/null,文件大小為0字節。

用cat刪除文件:

但是我發現對于nohup的程序的日志,這樣是無效的。因為nohup的程序持續不斷地在讀寫日志文件,此時無法重定向,我試了幾次,日志文件都壓根沒動。

crontab用于設置定時任務

參考:? linux crontab定時執行shell腳本

crontab命令被用來提交和管理用戶的需要周期性執行的任務,與windows下的計劃任務類似,當安裝完成操作系統后,默認會安裝此服務工具,并且會自動啟動crond進程,crond進程每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。

語法

 crontab(選項)(參數)

選項

 -e:編輯該用戶的計時器設置;

 -l:列出該用戶的計時器設置;

 -r:刪除該用戶的計時器設置;

 -u用戶名稱:指定要設定計時器的用戶名稱。

參數

 crontab文件:指定包含待執行任務的crontab文件。

首先crontab -e,就會進入vi編輯界面。然后直接把新的命令輸進去就行了。

minute hour day month week command /XXX/XXX.log 順序:分 時 日 月 周

minute: 表示分鐘,可以是從0到59之間的任何整數。

hour:表示小時,可以是從0到23之間的任何整數。

day:表示日期,可以是從1到31之間的任何整數。

month:表示月份,可以是從1到12之間的任何整數。

week:表示星期幾,可以是從0到7之間的任何整數,這里的0或7代表星期日。

/n表示每個n的單位執行一次

command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。

意為每周的1:00執行,且輸出重定向到黑洞目錄。

linux刪除日志文件的命令

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

網站欄目:linux命令清除日志,Linux 刪除日志
鏈接地址:http://m.kartarina.com/article4/hddpoe.html

成都網站建設公司_創新互聯,為您提供關鍵詞優化網站導航網站設計外貿網站建設建站公司

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站制作
主站蜘蛛池模板: 亚洲AV无码专区在线亚| 无码人妻精一区二区三区| av无码a在线观看| 精品无码国产污污污免费网站国产 | 国产高清无码毛片| 国模GOGO无码人体啪啪| 无码国产精品一区二区免费式直播| 亚洲成a∧人片在线观看无码| 亚洲一级特黄无码片| 日韩国产成人无码av毛片 | 人妻中文字幕AV无码专区| 日韩少妇无码一区二区三区| 无码国内精品人妻少妇| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 国产精品无码无片在线观看3D | 久久久久无码精品亚洲日韩| 亚洲av无码成人精品区一本二本 | 无码人妻一区二区三区在线水卜樱 | 亚洲精品av无码喷奶水糖心| 亚洲中文字幕无码不卡电影| 国产精品亚洲а∨无码播放不卡 | 中文字幕无码免费久久99| 国产自无码视频在线观看| 青春草无码精品视频在线观| 亚洲成a∧人片在线观看无码 | 精品少妇人妻av无码专区| 中文字幕无码中文字幕有码| 久久精品亚洲中文字幕无码网站| 国产成人无码精品久久久性色 | 最新无码人妻在线不卡| 久久久久无码精品亚洲日韩| 久久午夜夜伦鲁鲁片无码免费| 亚洲精品无码你懂的网站| 精品人妻无码一区二区三区蜜桃一| 无码精品尤物一区二区三区| 久久久无码精品亚洲日韩按摩 | 精品无码国产污污污免费网站| 高清无码视频直接看| 麻豆国产精品无码视频| 久久久久久久无码高潮| 无码国产精品一区二区免费vr|