真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux命令日志清理 linux怎么清理日志文件

Linux系統(tǒng) /var/log/journal/ 垃圾日志清理

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

創(chuàng)新互聯(lián)主營(yíng)阿爾山網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,APP應(yīng)用開(kāi)發(fā),阿爾山h5成都小程序開(kāi)發(fā)搭建,阿爾山網(wǎng)站營(yíng)銷推廣歡迎阿爾山等地區(qū)企業(yè)咨詢

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

1、用echo命令,將空字符串內(nèi)容重定向到指定文件中

echo "" system.journal

2、journalctl 命令自動(dòng)維護(hù)文件大小

1)只保留近一周的日志

journalctl --vacuum-time=1w

2)只保留500MB的日志

journalctl --vacuum-size=500M

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

rm -rf /var/log/journal/f9d400c5e1e8c3a8209e990d887d4ac1

問(wèn)題與分析解決

執(zhí)行 journalctl時(shí)報(bào)錯(cuò):Error was encountered while opening journal files: Input/output error

問(wèn)題分析:日志文件損壞

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

然后,再執(zhí)行 journalctl 限制日志的命令:

linux日志清理腳本清理不掉

linux是一個(gè)很能自動(dòng)產(chǎn)生文件的系統(tǒng),日志、郵件、備份等。雖然現(xiàn)在硬盤(pán)廉價(jià),我們可以有很多硬盤(pán)空間供這些文件浪費(fèi),讓系統(tǒng)定時(shí)清理一些不需要的文件很有一種爽快的事情。不用你去每天惦記著是否需要清理日志,不用每天收到硬盤(pán)空間不足的報(bào)警短信,想好好休息的話,讓我們把這個(gè)事情交給機(jī)器定時(shí)去執(zhí)行吧。

二、 分析日志

查看日志路徑和日志命名規(guī)則:

要清理這個(gè)目錄下面如此命名規(guī)則的日志。

三、方法

這時(shí)我想的肯定是希望能寫(xiě)一個(gè)腳本把這些日志清除掉,但不是刪除掉。那么現(xiàn)在需要實(shí)現(xiàn)3步:

? ?1.找到所有項(xiàng)目的log的位置

? ?2.清除或者刪除log內(nèi)容

? ?3.定時(shí)執(zhí)行腳本

刪除和清空日志命令:

find?對(duì)應(yīng)目錄?-mtime?+天數(shù)?-name?"文件名"?-exec?rm?-rf?{}?\;

實(shí)例命令:

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

說(shuō)明:

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

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

/opt/soft/log/:想要進(jìn)行清理的任意目錄;

-mtime:標(biāo)準(zhǔn)語(yǔ)句寫(xiě)法;

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

"*.log":希望查找的數(shù)據(jù)類型,"*.jpg"表示查找擴(kuò)展名為jpg的所有文件,"*"表示查找所有文件,這個(gè)可以靈活運(yùn)用,舉一反三;

-exec:固定寫(xiě)法;

rm?-rf:強(qiáng)制刪除文件,包括目錄;

{}?\;?:固定寫(xiě)法,一對(duì)大括號(hào)+空格+\+;

清空方法:

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

-type f -print:?將符合的文件打印出來(lái)

truncate -s 0 aa.txt:意思是將aa.txt的大小變成0M,即把a(bǔ)a.txt的內(nèi)容清空了

linux定時(shí)清理nohup命令下產(chǎn)生的日志

nohup命令 將程序以忽略掛起信號(hào)的方式運(yùn)行起來(lái),被運(yùn)行的程序的輸出信息將不會(huì)顯示到終端。一般用于將程序的輸出、報(bào)錯(cuò)信息重定向到一個(gè)指定路徑的指定文件。

語(yǔ)法 :nohup [command] [args] [] ? ?

nohup命令 最后要帶個(gè)作為結(jié)束

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

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

21是將標(biāo)準(zhǔn)錯(cuò)誤(2)重定向到標(biāo)準(zhǔn)輸出(1),標(biāo)準(zhǔn)輸出(1)再被重定向輸入到文件,即XXX.log中。

nohup命令的缺點(diǎn):日志文件文件越來(lái)越大,占內(nèi)存且查看麻煩。因?yàn)檫@個(gè)日志文件和程序是共生死的,因?yàn)橹灰绦蜻\(yùn)行起來(lái),就一直對(duì)log文件進(jìn)行讀寫(xiě),直接刪除XXX.log會(huì)導(dǎo)致程序也被結(jié)束了。

目前想到的一些相關(guān)方法如下,并未完全解決問(wèn)題。

參考: linux下nohup日志輸出過(guò)大問(wèn)題解決方案

split命令:

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

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

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

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

? ? ?? PREFIX:代表前導(dǎo)符,可作為切割文件的前導(dǎo)文件。

例如:

可以用split命令把很大的日志文件分成多個(gè)小文件,分割完成后 原文件不變 。不會(huì)影響nohup運(yùn)行的程序。

缺點(diǎn):split文件分割依賴手動(dòng),當(dāng)程序出故障或調(diào)試時(shí),將日志分割以便查看最新的日志信息。沒(méi)法定時(shí)做到定時(shí)自動(dòng)清理。

首先介紹find命令的參數(shù)

參考: linux find命令詳解

在這里主要用到的是這幾個(gè)參數(shù):

-atime n 查找系統(tǒng)中最后n*24小時(shí)訪問(wèn)的文件

-ctime n? 查找系統(tǒng)中最后n*24小時(shí)被改變文件狀態(tài)的文件

-mtime n? 查找系統(tǒng)中最后n*24小時(shí)被改變文件數(shù)據(jù)的文件

+n: n天前; -n: n天之內(nèi)

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

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

我感覺(jué)exec不是很好用,怪怪的

cat dev/null

在 Linux 中, null 設(shè)備基本上被用來(lái)丟棄某個(gè)進(jìn)程不再需要的輸出流,或者作為某個(gè)輸入流的空白文件,這些通??梢岳弥囟ㄏ驒C(jī)制來(lái)達(dá)到。

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

用cat刪除文件:

但是我發(fā)現(xiàn)對(duì)于nohup的程序的日志,這樣是無(wú)效的。因?yàn)閚ohup的程序持續(xù)不斷地在讀寫(xiě)日志文件,此時(shí)無(wú)法重定向,我試了幾次,日志文件都?jí)焊鶝](méi)動(dòng)。

crontab用于設(shè)置定時(shí)任務(wù)

參考:? linux crontab定時(shí)執(zhí)行shell腳本

crontab命令被用來(lái)提交和管理用戶的需要周期性執(zhí)行的任務(wù),與windows下的計(jì)劃任務(wù)類似,當(dāng)安裝完成操作系統(tǒng)后,默認(rèn)會(huì)安裝此服務(wù)工具,并且會(huì)自動(dòng)啟動(dòng)crond進(jìn)程,crond進(jìn)程每分鐘會(huì)定期檢查是否有要執(zhí)行的任務(wù),如果有要執(zhí)行的任務(wù),則自動(dòng)執(zhí)行該任務(wù)。

語(yǔ)法

 crontab(選項(xiàng))(參數(shù))

選項(xiàng)

 -e:編輯該用戶的計(jì)時(shí)器設(shè)置;

 -l:列出該用戶的計(jì)時(shí)器設(shè)置;

 -r:刪除該用戶的計(jì)時(shí)器設(shè)置;

 -u用戶名稱:指定要設(shè)定計(jì)時(shí)器的用戶名稱。

參數(shù)

 crontab文件:指定包含待執(zhí)行任務(wù)的crontab文件。

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

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

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

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

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

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

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

/n表示每個(gè)n的單位執(zhí)行一次

command:要執(zhí)行的命令,可以是系統(tǒng)命令,也可以是自己編寫(xiě)的腳本文件。

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

在Linux下如何清除系統(tǒng)日志

使用過(guò)Windows的人都知道,在使用windows系統(tǒng)的.過(guò)程中系統(tǒng)會(huì)變得越來(lái)越慢。而對(duì)于Windows下飽受詬病的各種垃圾文件都需要自己想辦法刪除,不然系統(tǒng)將會(huì)變得越來(lái)越大,越來(lái)越遲鈍!windows怎么清理垃圾相信大家都知道的,那么linux下怎么清理系統(tǒng)垃圾呢?

Linux的文件系統(tǒng)比Windows的要優(yōu)秀,不會(huì)產(chǎn)生碎片,對(duì)于長(zhǎng)時(shí)間運(yùn)行的服務(wù)器來(lái)說(shuō)尤為重要,而且Linux系統(tǒng)本身也不會(huì)像Windows一樣產(chǎn)生大量的垃圾文件。不知道這個(gè)說(shuō)法有沒(méi)有可信度!至少我們可以確定的是linux系統(tǒng)的文件系統(tǒng)是比較優(yōu)秀的!

錯(cuò)誤

rm -f logfile

原因

應(yīng)用已經(jīng)打開(kāi)文件句柄,直接刪除會(huì)造成:

1.應(yīng)用無(wú)法正確釋放日志文件和寫(xiě)入

2.顯示磁盤(pán)空間未釋放

正確

cat /dev/null logfile

把一下代碼保存為.sh后綴腳本來(lái)運(yùn)行即可清除Linux系統(tǒng)日志

#!/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系統(tǒng)垃圾還有以下命令

sudo apt-get autoclean 清理舊版本的軟件緩存

sudo apt-get clean 清理所有軟件緩存

sudo apt-get autoremove 刪除系統(tǒng)不再使用的孤立軟件


網(wǎng)站欄目:linux命令日志清理 linux怎么清理日志文件
文章鏈接:http://weahome.cn/article/doeopjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部