99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

清理老日志這種需求太常見了

阿銘linux ? 來(lái)源:阿銘linux ? 作者:阿銘linux ? 2022-11-02 11:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在我做運(yùn)維的職業(yè)生涯里,有超過(guò)3成的故障都是因?yàn)榇疟P被寫滿導(dǎo)致,而導(dǎo)致磁盤被寫滿的原因就是日志沒(méi)有做清理。

ce42c6d8-5a60-11ed-a3b6-dac502259ad0.png

今天這個(gè)腳本需求很簡(jiǎn)單,就是找到/data/logs/目錄下所有以log作為后綴的文件,刪除掉60天以前的,并且對(duì)一天以前的使用gzip進(jìn)行壓縮(每一個(gè)都要壓縮)。

其實(shí),這個(gè)需求大家不要想復(fù)雜了,核心命令就是find,先給大家講幾個(gè)find的常見用法。

1)找到一個(gè)目錄下,所有"*.txt",這里需要考慮到不僅僅該目錄下,還要包括該目錄的子目錄下的*.txt,所以,你要直接 ls /dir/*.txt肯定就不合適了,如何找指定名字的文件?使用這個(gè)命令:

find  /dir/  -name "*.log" 

2)找到/data/下10天以前的所有文件,注意只是文件,不包括目錄哦

find/data/-type f -mtime+10

3)基于目錄層級(jí)來(lái)查找,比如查找當(dāng)前目錄下最多兩層目錄下的所有文件

find  . -maxdepth 2 -type f

4)有時(shí)候,查找出文件來(lái),還需要針對(duì)這些文件做一些操作,比如備份所有.conf文件

find . -type f -name "*.conf" --exec cp {} {}.bak ;

這個(gè)--exec選項(xiàng)類似于一個(gè)循環(huán),循環(huán)對(duì)象就是前面的find出來(lái)的*.conf,每次循環(huán),對(duì)象用{}代替,最后面的; 需要使用脫義,目的就是為了實(shí)現(xiàn)循環(huán)。

除了 --exec之外,還可以使用xargs實(shí)現(xiàn),比如:

find . -type f -name "*.conf"  |xargs -i cp {} {}.bak

xargs 的-i選項(xiàng),是為了遍歷循環(huán),它同樣使用 {}來(lái)代替循環(huán)對(duì)象,有時(shí)候,xargs可以不加-i,比如:

find  . -name "*.txt"  |xargs rm

這是因?yàn)閞m支持批量操作,比如 rm 1.txt 2.txt 3.txt ,而 mv 不支持,只能一個(gè)一個(gè)來(lái)。

再來(lái)看腳本需求,如何找到60天以前的,使用-mtime +60,除了mtime外,還有ctime和atime。我們先來(lái)看看mtime、ctime、atime是什么意思 ?

ce93ce02-5a60-11ed-a3b6-dac502259ad0.png

大家看上下兩次結(jié)果對(duì)比,上面是中文,下面是英文,最近訪問(wèn)時(shí)間 就是atime,最近更改時(shí)間就是mtime,指的是更改了文件內(nèi)容,最近改動(dòng)時(shí)間就是ctime,指的是更改了文件屬性。

啥是文件屬性呢,就是文件的大小啊、權(quán)限啊等信息。比如改了文件的讀寫執(zhí)行權(quán)限,那么ctime會(huì)改,再比如改了文件的所有者,ctime也會(huì)變。這里有一個(gè)規(guī)律,那就是改了文件內(nèi)容,mtime一定會(huì)變,從而ctime也一定會(huì)變。但反過(guò)來(lái),你改了ctime,并不一定會(huì)改mtime。

找到60天以前的文件,指的是要找到mtime為60天以前的文件,find 就這樣用

find  -mtime +60 

+60表示60天以前, 而-60則表示60天以內(nèi)。同理,找到一天以前的,那就是find -mtime +1。

根據(jù)腳本需求,還需要找到1天以前的日志進(jìn)行壓縮,要注意的是,我們不能先找到1天以前的進(jìn)行壓縮,然后再去刪除60天以前的,這個(gè)順序不合適。因?yàn)槟阋坏ゞzip壓縮了,之前的 *.log文件就沒(méi)有了,你再這樣"find -type f -name "*.log" -mtime +60"就找不到文件啦!

這里還有一個(gè)知識(shí)點(diǎn)需要給大家說(shuō)一下,就是gzip壓縮后,源文件沒(méi)有了,生成了.gz文件,這個(gè).gz的文件mtime跟源文件一樣,大家看一下

ce9ef214-5a60-11ed-a3b6-dac502259ad0.png

但是ctime會(huì)變,這是因?yàn)槲募笮∽兝病?/p>

最終的腳本是這樣的:

#!/bin/bash
find /data/logs/ -name "*.log" -mtime +60 |xargs rm
find /data/logs/ -name "*.log"  -mtime +1 |xargs gzip

原來(lái),竟如此簡(jiǎn)單!

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 磁盤
    +關(guān)注

    關(guān)注

    1

    文章

    390

    瀏覽量

    25834
  • 日志
    +關(guān)注

    關(guān)注

    0

    文章

    144

    瀏覽量

    10868
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    398

    瀏覽量

    28459

原文標(biāo)題:清理老日志這種需求太常見了

文章出處:【微信號(hào):aming_linux,微信公眾號(hào):阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    iPhone手機(jī)內(nèi)存不夠用?如何清理?

    很多的蘋果手機(jī)用戶都很苦惱自己的手機(jī)內(nèi)存不夠,想下個(gè)軟件拍個(gè)照片還提示內(nèi)存不夠請(qǐng)先清理,那么到底該如何清理呢?
    發(fā)表于 12-13 02:15 ?5179次閱讀

    工作中這種檢測(cè)腳本常見了

    寫一個(gè)檢測(cè)腳本,用來(lái)檢測(cè)本機(jī)所有磁盤分區(qū)讀寫是否都正常。
    發(fā)表于 11-07 09:42 ?444次閱讀

    黑客在入侵后,是如何完美清理日志的?

    一:開始 - 程序 - 管理工具 - 計(jì)算機(jī)管理 - 系統(tǒng)工具 -事件查看器,然后清除日志。    二: Windows2000的日志文件通常有應(yīng)用程序日志,安全日志
    發(fā)表于 09-16 10:06

    Linux應(yīng)用--日志定時(shí)清理

    上篇文章寫到了在工作中遇到的一個(gè)因?yàn)榇疟P空間占滿導(dǎo)致的問(wèn)題,因應(yīng)用每天都要寫日志,所以如果不定時(shí)對(duì)部署應(yīng)用的服務(wù)器進(jìn)行清理的話會(huì)經(jīng)常遇到這樣的問(wèn)題。為避免相似的問(wèn)題發(fā)生,今天總結(jié)一個(gè)Linux日志
    發(fā)表于 07-09 08:12

    怎樣去打造一款智能日志模塊

    日志外,可以對(duì)日志分等級(jí)顯示不同的顏色,支持按日期切割,支持控制文件大小及定時(shí)清理若干天的記錄文件。更重要的是,一種遠(yuǎn)程診斷的方案。公司開辟一公共外網(wǎng)ftp服務(wù)器,這不費(fèi)不少錢吧,也放心這服務(wù)器...
    發(fā)表于 12-20 07:17

    怎么清理工程?有沒(méi)有類似DOS命令的?

    怎么清理工程有沒(méi)有類似DOS命令的每次都得打開IDE去清理麻煩求大神解答
    發(fā)表于 08-19 11:21

    reboot命令都不見了為什么會(huì)出現(xiàn)這種情況?

    不正常。警告在drv_common.c里面,說(shuō)的是reboot函數(shù)沒(méi)使用。下載程序看看效果好了,reboot命令都不見了請(qǐng)教了一堆大佬,結(jié)果發(fā)現(xiàn)drv_common.c文件并沒(méi)有更新到最新版本的,沿用
    發(fā)表于 09-21 11:15

    華為“清理”34歲以上員工?華為官方:純屬造謠!

    針對(duì)13日開始的華為將清理34歲以上員工的傳聞,華為官方14日下午表態(tài)稱該說(shuō)法純屬謠言。
    發(fā)表于 02-14 16:57 ?1511次閱讀

    對(duì)于大規(guī)模系統(tǒng)日志日志模式提煉算法的優(yōu)化

    LARGE框架是部署在中國(guó)科學(xué)院超級(jí)計(jì)算環(huán)境中的日志分析系統(tǒng),通過(guò)日志收集、集中分析、結(jié)果反饋等步驟對(duì)環(huán)境中的各種日志文件進(jìn)行監(jiān)控和分析。在對(duì)環(huán)境中系統(tǒng)日志的監(jiān)控過(guò)程中,系統(tǒng)維護(hù)人員需
    發(fā)表于 11-21 14:54 ?7次下載
    對(duì)于大規(guī)模系統(tǒng)<b class='flag-5'>日志</b>的<b class='flag-5'>日志</b>模式提煉算法的優(yōu)化

    如何制作一個(gè)清理計(jì)算機(jī)的批處理腳本

    這種可指示的方式,我們將編寫一個(gè)腳本來(lái)清理計(jì)算機(jī)上的大多數(shù)垃圾文件,例如.temp文件,日志文件,臨時(shí)幫助文件,磁盤檢查文件,臨時(shí)備份文件等等。除此之外,我們將為程序創(chuàng)建一個(gè)界面,以便用戶可以控制它。 (并且看起來(lái)很棒)。
    的頭像 發(fā)表于 10-22 14:56 ?2218次閱讀

    vivo大數(shù)據(jù)日志采集Agent設(shè)計(jì)實(shí)踐

    通常,日志采集服務(wù)可以分為幾個(gè)部分(業(yè)界常見的架構(gòu)如下圖所示):日志采集Agent組件(常見的開源采集Agent組件有Flume、Logstash、Scribe等)、采集傳輸與存儲(chǔ)組件
    的頭像 發(fā)表于 11-29 15:39 ?1375次閱讀

    三步教你清理NAS上無(wú)用docker文件

    今天登錄ssh后查看文件發(fā)現(xiàn)其中一個(gè)文件夾占用很大,已經(jīng)到了60%,于是乎我這邊查詢了一下發(fā)現(xiàn)全是docker殘留文件與日志。每次測(cè)試docker容器后雖然會(huì)進(jìn)行卸載,但是中間產(chǎn)生的日志和空文件夾系統(tǒng)并不會(huì)幫你進(jìn)行清理,于是乎就
    的頭像 發(fā)表于 02-24 11:29 ?2243次閱讀
    三步教你<b class='flag-5'>清理</b>NAS上無(wú)用docker文件

    log4j日志框架分析

    og4j是Apache下的一款開源的日志框架,能夠滿足我們?cè)陧?xiàng)目中對(duì)于日志記錄的需求。log4j提供了簡(jiǎn)單的API調(diào)用,強(qiáng)大的日志格式定義以及靈活的擴(kuò)展性。使用者可以自己定義Appen
    的頭像 發(fā)表于 02-28 14:32 ?1457次閱讀
    log4j<b class='flag-5'>日志</b>框架分析

    Spring Boot的日志框架使用

    目前市面上常見日志框架有:slf4j(Simple Logging Facade for Java)、logback、log4j、log4j2、commons-logging(Spring默認(rèn)日志框架)、JUL(java.ut
    的頭像 發(fā)表于 06-02 10:59 ?1203次閱讀
    Spring Boot的<b class='flag-5'>日志</b>框架使用

    日志篇:模組日志總體介紹

    ?今天我們學(xué)習(xí)合宙模組日志總體介紹,以下進(jìn)入正文。 一、本文討論的邊界 本文是對(duì)合宙 4G 模組, 以及 4G+GNSS 模組的日志功能的總體介紹。通過(guò)日志,可以對(duì)研發(fā)過(guò)程中,以及模組運(yùn)行過(guò)程中
    的頭像 發(fā)表于 10-24 07:16 ?585次閱讀
    <b class='flag-5'>日志</b>篇:模組<b class='flag-5'>日志</b>總體介紹