14. 日誌歸檔
在Linux系統中有日誌切割的工具logrotate ,它可以按照我們的要求按時間或者按大小來切割和歸檔老的日誌,它還可以壓縮切割後的日誌,也可以定義老日誌保留的時間。本案例的需求是通過一個shell指令碼來實現類似logrotate的功能。
具體要求如下:
1)要處理的日誌路徑是 /data/logs/1.log ;
2)每天0點0分切割日誌;
3)老日誌保留一週;
4)歸檔後的日誌名字為 1.log.1 ,1.log.2 ,... ,1.log.7 ;
5)假設日誌歸檔後,新日誌可以自動生成。
參考指令碼如下:
#!/bin/bash
#日誌切割歸檔
logdir=/data/logs/
#如果檔案存在則刪除
e_df()
{
if [ -f $1 ]
then
rm -rf $1
fi
}
cd $logdir
#從7到2,依次遍歷迴圈
for i in `seq 7 -1 2`
do
i2=$[$i-1]
e_df 1.log.$i
if [ -f 1.log.$i2 ]
then
mv 1.log.$i2 1.log.$i
fi
done
e_df 1.log.1
mv 1.log 1.log.1
新增計劃任務:
0 0 * * * /bin/bash /usr/sbin/log_file.sh #每天0點0分執行任務
此外,還可以按照日誌大小來歸檔,使用 du -sm
命令,對超過指定大小的日誌進行歸檔處理。
相關文章
- 歸檔日誌
- 【Oracle】歸檔日誌管理-設定歸檔日誌路徑以及歸檔日誌冗餘Oracle
- oracle歸檔日誌Oracle
- Oracle 歸檔日誌Oracle
- 歸檔日誌挖掘
- PostgreSQL 歸檔日誌SQL
- 控制檔案/歸檔日誌
- 歸檔日誌多歸檔路徑 duplex
- 歸檔oracle alert日誌Oracle
- PostgreSQL歸檔日誌配置SQL
- rman清理歸檔日誌
- archive log 歸檔日誌Hive
- 備份歸檔日誌
- 歸檔日誌 現象
- Oracle歸檔日誌清理Oracle
- 當ORACLE歸檔日誌滿後如何正確刪除歸檔日誌Oracle
- 用RMAN備份歸檔日誌時檢查歸檔日誌是否存在
- 誤刪歸檔日誌除導致備份歸檔日誌失敗
- 聯機重做日誌、歸檔日誌、備用重做日誌
- 備份歸檔日誌檔案
- 日誌檔案和歸檔管理
- 刪除歸檔日誌檔案
- 手工rm刪除歸檔日誌對備份歸檔日誌的影響
- Oralce資料庫關閉歸檔日誌並且刪除歸檔日誌資料庫
- RMAN delete archivelog命令刪除歸檔日誌及歸檔日誌拷貝deleteHive
- 批量註冊歸檔日誌
- Oracle RMAN 清除歸檔日誌Oracle
- RAC 開啟歸檔日誌
- ORACLE 歸檔日誌資訊sqlOracleSQL
- oracle刪除歸檔日誌Oracle
- 歸檔日誌大小統計
- 多路徑重用歸檔日誌
- Oracle RMAN清除歸檔日誌Oracle
- postgresql開啟歸檔日誌SQL
- 修改歸檔日誌路徑
- Oracle歸檔日誌管理技巧Oracle
- Postgresql日誌歸檔設定SQL
- 歸檔日誌的刪除