日誌清理腳本
Ⅰ 定時刪除7天前的日誌的shell腳本,目錄/data/logs,日誌文件currentServer.currRabbitmq.2017-11-21.log;
atime:訪問時間(access time),指的是文件最後被讀取的時間,可以使用touch命令更改為當前時間;
ctime:變更時間(change time),指的是文件本身最後被變更的時間,變更動作可以使chmod、chgrp、mv等等;
mtime:修改時間(modify time),指的是文件內容最後被修改的時間,修改動作可以使echo重定向、vi等等;
是ctime還是mtime你自己定,寫入計劃任務/etc/crontab,每天凌晨3點執行
0 3 * * * root find /data/logs -name "*.log" -ctime +7 -exec rm -f {} \;
Ⅱ shell定期刪除日誌腳本
腳本如下:
#!/bin/bash
# vim /etc/cron.d/backup
#Author:xxxx
#Date:20140619
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
DIR="/tmp/logs"
file_num=`find $DIR/*.log.* -mtime +1 |wc -l`
echo "have $file_num file"
find $DIR/*.log.* -mtime +1 |xargs rm -rf {} \; >/dev/null 2>&1
====================================================
上面腳本能完成你的要求
一定要照你的腳本寫,沒有測試,你自己修改一下,思路是這樣的。
上面的直接用Find找到文件的修改時間,直接定位文件刪除。
下面這個匹配文件中的名字中包含指定時間的文件,條件為真,刪除。
計算加1.
你自己寫的時間匹配有問題好像。
++++++++++++++++++++++++++++++++++++
tianshu=1
m=0
sj=`date +%Y%m%d -d -${tianshu}day`
for i in `ls *.log.*`
do
echo $i |grep 」$sj「 && rm -f $i
if [ $? = 0 ];then
m++
fi
done
echo $m
Ⅲ 定期清理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的配置不再贅述,主要就是設置跑批程序的執行時間,以及一些其他參數。
Ⅳ 一鍵清理垃圾文件bat怎麼做
1 30秒清除你電腦中的垃圾(使你電腦急速如飛)(高手已測)
要輕松流暢上網你是否注意到你的電腦系統磁碟的可用空間正在一天天在減少呢?是不是像老去的猴王一樣動作一天比一天遲緩呢?
沒錯!在Windows在安裝和使用過程中都會產生相當多的垃圾文件,包括臨時文件(如:*.tmp、*._mp)日誌文件(*.log)、臨時幫助文件(*.gid)、磁碟檢查文件(*.chk)、臨時備份文件(如:*.old、*.bak)以及其他臨時文件。特別是如果一段時間不清理IE的臨時文件夾「Temporary Internet Files」,其中的緩存文件有時會佔用上百MB的磁碟空間。這些LJ文件不僅僅浪費了寶貴的磁碟空間,嚴重時還會使系統運行慢如蝸牛。這點相信你肯定忍受不了吧!所以應及時清理系統的LJ文件的淤塞,保持系統的「苗條」身材,輕松流暢上網!朋友來吧,現在就讓我們一起來快速清除系統垃圾吧!!下面是步驟很簡單就兩步!
在電腦屏幕的左下角按「開始→程序→附件→記事本」,把下面的文字復制進去(黑色部分),點「另存為」,路徑選「桌面」,保存類型為「所有文件」,文件名為「清除系統LJ.bat」,就完成了。記住後綴名一定要是.bat,ok!你的垃圾清除器就這樣製作成功了!
雙擊它就能很快地清理垃圾文件,大約一分鍾不到。
======就是下面的文字(這行不用復制)=============================
@echo off
echo 正在清除系統垃圾文件,請稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 清除系統LJ完成!
echo. & pause
=====到這里為止(這行不用復制)==============================================
以後只要雙擊運行該文件,當屏幕提示「清除系統LJ完成!就還你一個「苗條」的系統了!!到時候再看看你的電腦,是不是急速如飛呢?可別忘了回帖喔!
註:LJ就是垃圾的意思!這招比那些所謂的優化大師好用!最重要的是無論在公司默認的系統環境還是在自己家中的電腦都不會破壞系統文件
做人要厚道,成功後別忘了頂一下!!!好讓讓更多的人知道,忘了頂的人馬上死機...哈哈
絕對原創
Ⅳ linux 清除前一天日誌的腳本
Linux有正常的日誌的輪替,即:把現在的日誌重命名然後再產生新的日誌文件,可以利用這個原理來清空當前的日誌文件,而不會導致以前的日誌流失!這樣的話你可以設置你的日誌文件為每天一輪換,則當前日誌文件內的信息就是今天的日誌!
vi/etc/logrotate.conf 把其中的weekly或者monthly改為dayly就行!
Ⅵ 管家婆分銷 登陸後提示 系統異常請確認 附截圖
可嘗試清理資料庫日誌
SQL2008清理資料庫日誌文件
首先,清理資料庫日誌文件的腳本是這樣的。
其次,需要清理的資料庫日誌文件有多大,可以在SQL Server Management Studio看到:
滑鼠右鍵點擊對應的資料庫,選擇屬性,在「文件」這個標簽下就能看到日誌文件大小。
現在開始清理:
打開SQL ServerManagement Studio。
連接上資料庫伺服器後,新建查詢。新建查詢的方式有兩種,結果都是一樣的。
第一步:新建查詢。
1:右擊需要進行清理的資料庫,選擇「新建查詢」。
或者,
2:點擊「新建查詢」,然後在下方選擇需要處理的資料庫。
第二步:錄入查詢腳本。
以打開或者手工錄入的形式,將腳本文件內容輸入進去。
最後是這樣一個情況,請注意左上的資料庫名。
第三步:開始清理。
接下來將腳本中的「資料庫名」更換為需要清理的資料庫的名字。因為我的資料庫名字中有特殊字元「-」,所以需要用到「[」「]」。如果您的資料庫名稱第一位是數字,也需要這么處理。
點擊執行:
接下來出現了這個:
切換到「結果」:
將這里的資料庫Name填寫進剛才的腳本中。
再次執行。
完成收工。
Ⅶ 需要用shell寫一個清空正在使用的日誌的腳本,
有個最簡單的辦法,假設文件是/var/log.txt
echo > /var/log.txt
這樣文件就清空了
Ⅷ Linux 系統 shell腳本定時 清空系統日誌文件
其實沒有必要寫shell腳本,簡單一句話放在系統定時任務里就行了。
比如你的日誌文件名叫a.log。路徑為/tmp/a.log;
那麼你可以寫個定時任務,這樣做:crontab -e 進入定時任務器,然後把下面這段寫到裡面
00 02 * * * echo " " >/tmp/a.log
然後保存退出就可以了。這段內容意思是,每天凌晨2點自動清空a.log內容。你也可以自己定義多久清一次。比如想10分鍾清一次,就這么寫*/10 * * * * echo " " >/tmp/a.log。具體的crontab時間定義你可以去網路查查。希望對您有用!
Ⅸ LINUX下,清除日誌的腳本。幫幫忙。
#!/bin/bash
#SystemDate
date=$(date +%Y%m%d)
source_url=日誌現存路徑
target_url=將原日誌備份的路徑
cp $source_url/logname $target_url/logname_$date
cat /dev/null > $source_url/logname
原日誌需要以>>方式輸出到logname
例:命令>>logname&