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

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

日志分割linux命令 linux截取日志的命令

Linux系統(tǒng)日志切割-Logrotate

日志文件包含了關(guān)于系統(tǒng)中發(fā)生的事件的有用信息,在排障過程中或者系統(tǒng)性能分析時(shí)經(jīng)常被用到。對(duì)于忙碌的服務(wù)器,日志文件大小會(huì)增長極快,服務(wù)器會(huì)很快消耗磁盤空間,這成了個(gè)問題。除此之外,處理一個(gè)單個(gè)的龐大日志文件也常常是件十分棘手的事。

張家口ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

logrotate是個(gè)十分有用的工具,它可以自動(dòng)對(duì)日志進(jìn)行截?cái)啵ɑ蜉喲嚎s以及刪除舊的日志文件。例如,你可以設(shè)置logrotate,讓/var/log/foo日志文件每30天輪循,并刪除超過6個(gè)月的日志。配置完后,logrotate的運(yùn)作完全自動(dòng)化,不必進(jìn)行任何進(jìn)一步的人為干預(yù)。

在Debian或Ubuntu上:

在Fedora,CentOS或RHEL上:

logrotate的配置文件是/etc/logrotate.conf,通常不需要對(duì)它進(jìn)行修改。日志文件的輪循設(shè)置在獨(dú)立的配置文件中,它(們)放在/etc/logrotate.d/目錄下。

參數(shù)詳解:

上面的模板是通用的,而配置參數(shù)則根據(jù)你的需求進(jìn)行調(diào)整,不是所有的參數(shù)都是必要的。

logrotate可以在任何時(shí)候從命令行手動(dòng)調(diào)用。要調(diào)用為/etc/lograte.d/下配置的所有日志調(diào)用logrotate:

要為某個(gè)特定的配置調(diào)用logrotate,執(zhí)行一次切割任務(wù)測試

即使輪循條件沒有滿足,我們也可以通過使用‘-f’選項(xiàng)來強(qiáng)制logrotate輪循日志文件,‘-v’參數(shù)提供了詳細(xì)的輸出。

防止訪問日志文件過大

logrotate工具對(duì)于防止因龐大的日志文件而耗盡存儲(chǔ)空間是十分有用的。配置完畢后,進(jìn)程是全自動(dòng)的,可以長時(shí)間在不需要人為干預(yù)下運(yùn)行。本教程重點(diǎn)關(guān)注幾個(gè)使用logrotate的幾個(gè)基本樣例,你也可以定制它以滿足你的需求。

Linux shell腳本按日期 切割pm2日志

linux shell腳本按日期 切割pm2日志 (解決定時(shí)任務(wù)pm2命令無法執(zhí)行問題,原因:沒有環(huán)境變量)

首先在輸入命令echo $PATH 拿到當(dāng)前系統(tǒng)環(huán)境變量

然后在/root/.pm2目錄新建cutlog.sh文件(注意:第一句一定要有,設(shè)置當(dāng)前shell腳本里面的環(huán)境變量,沒有的話pm2命令會(huì)無法執(zhí)行)

PATH=/root/.nvm/versions/node/v6.10.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

CURPATH=/root/.pm2

OUTPATH=/home/cutLogsDate

mkdir -p $OUTPATH

INPUTPATH=$CURPATH/logs

reloadProcessLogs(){

logFilesGame="${INPUTPATH}/$1"

yesterday=`date -d last-day '+%Y%m%d_'$2`

logOfLastDay=$OUTPATH/$yesterday.log

mv $logFilesGame $logOfLastDay

touch $logFilesGame

echo "切割$1成功"

}

reloadProcessLogs 'game-out-0.log' 'game_out'

pm2 reloadLogs設(shè)置定時(shí)任務(wù)

輸入crontab -e命令編輯

0 3 * * * sh /root/.pm2/cutlog.sh

Linux下使用cronolog切割服務(wù)器日志文件的方法

Linux下運(yùn)行的Web服務(wù)器Apache,默認(rèn)日志文件是不分割的,一個(gè)整文件既不易于管理,也不易于分析統(tǒng)計(jì)。安裝cronolog后,可以將日志文件按時(shí)間分割,易于管理和分析。

cronolog安裝配置非常簡單,下載后只需要輸入幾個(gè)命令即可完成。

1、下載(最新版本)

# wget

2、解壓縮

# tar zxvf cronolog-1.6.2.tar.gz

3、進(jìn)入cronolog安裝文件所在目錄

# cd cronolog-1.6.2

4、運(yùn)行安裝

# ./configure

# make

# make install

5、查看cronolog安裝后所在目錄(驗(yàn)證安裝是否成功)

# which cronolog

一般情況下顯示為:/usr/local/sbin/cronolog

整個(gè)安裝過程結(jié)束,下面需要把日志的格式配置一下:

1、虛擬主機(jī)配置文件 httpd-vhosts.conf

將Web日志設(shè)置 CustomLog 修改為以下格式

CustomLog "|/usr/local/sbin/cronolog /www/logs/example_%Y%m%d.log" combined

當(dāng)然,錯(cuò)誤日志設(shè)置 ErrorLog 也可以利用 cronolog 分割,設(shè)置為

ErrorLog "|/usr/local/sbin/cronolog /www/logs/error_%Y%m%d.log"

2、如果服務(wù)器上只有一個(gè)站點(diǎn)(當(dāng)然這種情況比較少),直接按上面所說格式修改 httpd.conf 文件日志設(shè)置部分。

說明:

綠色部分 為 cronolog 安裝后所在位置,系統(tǒng)版本不同可能位置不完全一樣,以 which 命令查看到的位置為準(zhǔn);

藍(lán)色部分 為設(shè)置的日志文件所在位置,根據(jù)需要修改;

紅色部分 為設(shè)置的日志文件標(biāo)識(shí)性字符,根據(jù)需要修改;

%Y%m%d 為日志文件分割方式,例子中為“年月日”,也可以修改成自己需要的。

修改httpd.conf文件:

這個(gè)文件在我的電腦上是在 /etc/httpd/conf/httpd.conf 不同的服務(wù)器 應(yīng)該是不一樣的

在最后加上

# ServerAdmin webmaster@dummy-host.example.com

# DocumentRoot /www/docs/dummy-host.example.com

# ServerName dummy-host.example.com

ErrorLog /data/logs/apache/webapps.wps.cn-error_log

CustomLog "|/usr/local/sbin/cronolog /data/logs/apache/%Y%m%d/access_log.%H" combined

#這個(gè)保證了每天一個(gè)文件夾 文件夾下 每個(gè)小時(shí)產(chǎn)生一個(gè)log

#CustomLog "|/usr/local/sbin/cronolog /data/logs/apache/%Y%m%%Hdaccess_log" combined

進(jìn)入到 /etc/init.d/httpd configtest 這樣驗(yàn)證你的配置文件是否正確

進(jìn)入到 /etc/init.d/httpd restart 重啟apache 服務(wù)器(不同的'系統(tǒng)應(yīng)該是不一樣 要自己找到)

用于Tomcat

第一步

if [ -z "$CATALINA_OUT" ] ; then

CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out

fi

修改為

if [ -z "$CATALINA_OUT" ] ; then

CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d

fi

第二步

touch "$CATALINA_OUT"

改為

#touch "$CATALINA_OUT"

第三步

org.apache.catalina.startup.Bootstrap "$@" start

"$CATALINA_OUT" 21

修改為

org.apache.catalina.startup.Bootstrap "$@" start 21

| /usr/local/sbin/cronolog "$CATALINA_OUT" /dev/null

重新啟動(dòng) Tomcat

service tomcat restart

可以在 Tomcat 的 logs 目錄底下找到以系統(tǒng)日期為結(jié)尾的 catalina.out.yyyy-mm-dd 的檔案,這樣子就成功了。

后續(xù)就是持續(xù)觀察看看是不是每天都有產(chǎn)生一個(gè)新的 catalina.out.yyyy-mm-dd 檔案。然后再安排定期刪除這些較舊的 log 檔即可。

linux服務(wù)器怎么做日志分割

這個(gè)腳本是在LNMP論壇看到的,你可以試試

腳本如下:

#!/bin/bash#function:cut nginx log files for lnmp v0.5 and v0.6#author: #設(shè)置你的日志存放的目錄log_files_path="/home/wwwlogs/"#日志以年/月的目錄形式存放log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")#設(shè)置需要進(jìn)行日志分割的日志文件名稱,多個(gè)以空格隔開log_files_name=(access )#設(shè)置nginx的安裝路徑nginx_sbin="/usr/local/nginx/sbin/nginx"#Set how long you want to savesave_days=30 #############################################Please do not modify the following script #############################################mkdir -p $log_files_dir log_files_num=${#log_files_name[@]} #cut nginx log filesfor((i=0;i$log_files_num;i++));domv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").logdone #delete 30 days ago nginx log filesfind $log_files_path -mtime +$save_days -exec rm -rf {} \;

$nginx_sbin -s reload

把上面的保存為.sh文件,然后給上可執(zhí)行權(quán)限,再配合Linux的計(jì)劃任務(wù),完美拉~~~

linux切割、備份大的nohup日志文件

nohup.out日志文件太大了,且一直增長,命令查看日志受阻

①切割大文件變成多個(gè)小文件

②每天定時(shí)保存前一天的日志,重新記錄當(dāng)天日志

1.利用split命令切割

①按文件大小切割大文件:

切割文件:將ohup.out文件每500M切割一個(gè)文件放到/home/nginx/logs/newlog/目錄下

②按文件行數(shù)切割大文件:

查詢文件行數(shù):

wc -l b.log

2038711 b.log

按50W行切割一個(gè)文件:

split -l 500000 -d -a 4 /home/nginx/logs/b.log /home/nginx/logs/newlog/

2.定時(shí)備份前一天日志,重新記錄當(dāng)天日志splitlog.sh

3.定時(shí)執(zhí)行

查看定時(shí)任務(wù):

crontab -l

編輯定時(shí)任務(wù):

crontab -e

重啟定時(shí)任務(wù):

刪除10天以前的日志文件,此日期為文件本身的時(shí)間,非日志內(nèi)容時(shí)間

Linux日志管理神器之Logrotate日志分割,以及crontab定時(shí)輪詢

有些服務(wù),會(huì)自動(dòng)產(chǎn)生大量的日志文件,如果不限制,會(huì)占用磁盤空間。

如果單純的用定時(shí)任務(wù)crontab刪除,又不太靈活,這時(shí)需要日志神器logrotate。

logrotate工具是系統(tǒng)自帶為了方便進(jìn)行日志管理而產(chǎn)生的一個(gè)工具。

系統(tǒng)會(huì)定時(shí)運(yùn)行 logrotate,一般是每天一次。也是基于定時(shí)任務(wù)crontab運(yùn)行的。

配置文件:

主配置文件的位置在 /etc/logrotate.conf,一般配置在 /etc/logrotate.d/子目錄下。

如系統(tǒng)默認(rèn)日志配置:

配置文件參數(shù):

更多信息請參考man logrotate幫助文檔

模板是通用的,而配置參數(shù)則根據(jù)你的需求進(jìn)行調(diào)整,不是所有的參數(shù)都是必要的。

在上面的配置文件中,我們只想要輪詢一個(gè)日志文件,size=50M 指定日志文件大小可以增長到 50MB,dateext 指 示讓舊日志文件以創(chuàng)建日期命名。

可自行參考/etc/logrotate.d/目錄下系統(tǒng)默認(rèn)的文件。

logrotate命令:

具體 logrotate 命令格式如下:

要為某個(gè)特定的配置調(diào)用 logrotate:

排障過程中的最佳選擇是使用-d選項(xiàng)以預(yù)演方式運(yùn)行 logrotate。要進(jìn)行驗(yàn)證,不用實(shí)際輪循任何日志文件, 可以模擬演練日志輪循并顯示其輸出。

正如我們從上面的輸出結(jié)果可以看到的,logrotate 判斷該輪循是不必要的。如果文件的時(shí)間小于一天,就會(huì)發(fā)生了。

強(qiáng)制輪循即使輪循條件沒有滿足,我們也可以通過使用-f選項(xiàng)來強(qiáng)制 logrotate 輪循日志文件,-v參數(shù)提供了詳細(xì)的輸出。

個(gè)人項(xiàng)目配置:

項(xiàng)目每天可產(chǎn)生20G左右的日志,顯示不能做每日輪詢,所以額外需要添加定時(shí)任務(wù)做每小時(shí),或者每隔多少分鐘。

如果輪詢?nèi)罩井惓?bào)錯(cuò)如下:

error: skipping “” because parent directory has insecure permissions (It’s world writable or writable by group which is not “root”) Set “su” directive in config file to tell logrotate which user/group should be used for rotation.”

需要加 su root root 選項(xiàng)。

同時(shí)添加定時(shí)任務(wù):

定時(shí)任務(wù)說明:

第一條,每隔40分鐘輪詢執(zhí)行一次logrotate任務(wù)。

第二條,每天凌晨4點(diǎn)刪除前一天的日志,原因如下:

由于項(xiàng)目系統(tǒng)產(chǎn)生日志格式的原因,會(huì)導(dǎo)致以下情況:

如果昨天的分割到4個(gè)后(或者1,2,3),時(shí)間到第二天后,沒法轉(zhuǎn)儲(chǔ)遞增,會(huì)一直停留在4,沒法刪除,每天會(huì)有,久而久之,也會(huì)占用磁盤空間。所以需要定時(shí)刪除。

設(shè)置完成

開啟定時(shí)任務(wù)日志,以便查看定時(shí)任務(wù)是否執(zhí)行。后續(xù)可取消。

重啟rsyslog


網(wǎng)站標(biāo)題:日志分割linux命令 linux截取日志的命令
本文網(wǎng)址:http://weahome.cn/article/docpidc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部