清除linux日誌
Ⅰ 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/
問題與分析解決
執行 journalctl時報錯:Error was encountered while opening journal files: Input/output error
問題分析:日誌文件損壞
解決方法:刪除之前的日誌,並重消簡肢啟 journalctl 服務
然後,再執行 journalctl 限制日誌的命令:
Ⅱ linux刪除日誌文件的命令
例: vi /var/log/messages :set nu 查看文件中的你要刪除的時間段在幾行之間 如果是100-200行,則將游標放在第100行,按100dd即可刪除。 還有其他方法。看你的具體需求。
Ⅲ 定期清理linux伺服器日誌文件的幾個思路
定期清理linux伺服器日誌文件的幾個思路
1,在跑批程序中,用java代碼調用shell腳本;
2,在跑批程序中,用純java代碼實現,也就是使用java的文件操作類File;
3,純shell腳本方式,使用linux伺服器的調度程序調用shell腳本;
結合最近的項目,這里提供一個示例。首先,我們是在跑批項目中實現的定期清理日誌功能,
因為我們有跑批項目,使用的是Control M進行調度,所以這種方式還是很方便的。
第一步:寫shell腳本
find /home/logs/ -mtime +30 -name "*.log" -exec rm -rf {} ;
腳本其實很簡單,一行代碼就夠了,把這個代碼放在一個shell文件中,然後放在伺服器的
指定目錄下,等待java程序調用。
第二步:寫java代碼,調用shell腳本,示例代碼僅提供思路,請大家自己調試
// 設置可執行許可權
String commond = "chmod 777 clearLogFileOnTime.sh";
Process proc = Runtime.getRuntime().exec(commond);
proc.waitFor();
// 執行shell腳本
commond = "bash clearLogFileOnTime.sh";
proc = Runtime.getRuntime().exec(commond);
第三步:配置Control M,進行作業調度
關於Control M的配置不再贅述,主要就是設置跑批程序的執行時間,以及一些其他參數。