亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 7041 | 回復(fù): 10
打印 上一主題 下一主題

壓縮日志文件的腳本(已解決) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-09-10 16:44 |只看該作者 |倒序?yàn)g覽
有日志文件如下
2009_08_02-18_03_41.net.log   2009_08_27-10_05_59.net.log
2009_08_05-00_00_00.game.log  2009_08_27-18_25_01.game.log
2009_08_06-00_00_00.game.log  2009_08_27-18_25_01.net.log
2009_08_06-09_15_56.game.log  2009_08_28-00_00_00.game.log
2009_08_06-09_15_56.net.log   2009_08_29-00_00_00.game.log
2009_08_06-09_35_10.game.log  2009_08_30-00_00_00.game.log
2009_08_06-09_35_10.net.log   2009_08_31-00_00_00.game.log
2009_08_07-00_00_00.game.log  2009_09_01-00_00_00.game.log
2009_08_08-00_00_00.game.log  2009_09_02-00_00_00.game.log
2009_08_09-00_00_00.game.log  2009_09_03-00_00_00.game.log
2009_08_10-00_00_00.game.log  2009_09_03-09_35_21.game.log
2009_08_11-00_00_00.game.log  2009_09_03-09_35_21.net.log
2009_08_12-00_00_00.game.log  2009_09_03-09_42_42.game.log
2009_08_13-00_00_00.game.log  2009_09_03-09_42_42.net.log
2009_08_13-09_18_43.game.log  2009_09_04-00_00_00.game.log
2009_08_13-09_18_43.net.log   2009_09_05-00_00_00.game.log
2009_08_13-09_29_09.game.log  2009_09_06-00_00_00.game.log
2009_08_13-09_29_09.net.log   2009_09_07-00_00_00.game.log
2009_08_13-18_05_35.game.log  2009_09_08-00_00_00.game.log
2009_08_13-18_05_35.net.log   2009_09_09-00_00_00.game.log
2009_08_14-00_00_00.game.log  2009_09_10-00_00_00.game.log
2009_08_15-00_00_00.game.log  2009_09_10-09_19_15.game.log
2009_08_16-00_00_00.game.log  2009_09_10-09_19_15.net.log
2009_08_17-00_00_00.game.log  2009_09_10-09_20_29.game.log
2009_08_18-00_00_00.game.log  2009_09_10-09_20_29.net.log
2009_08_19-00_00_00.game.log  2009_09_10-09_21_19.game.log
2009_08_20-00_00_00.game.log  2009_09_10-09_21_19.net.log
2009_08_20-09_08_37.game.log  2009_09_10-09_23_12.game.log
2009_08_20-09_08_37.net.log   2009_09_10-09_23_12.net.log
2009_08_20-09_27_37.game.log  2009_09_10-09_27_40.game.log
2009_08_20-09_27_37.net.log   2009_09_10-09_27_40.net.log
2009_08_21-00_00_00.game.log  2009_09_10-09_29_34.game.log
2009_08_21-14_54_05.game.log  2009_09_10-09_29_34.net.log
2009_08_21-14_54_05.net.log   2009_09_10-09_29_59.game.log
2009_08_21-15_27_12.game.log  2009_09_10-09_29_59.net.log
2009_08_21-15_27_12.net.log   2009_09_10-09_33_18.game.log
2009_08_22-00_00_00.game.log  2009_09_10-09_33_18.net.log
2009_08_23-00_00_00.game.log  2009_09_10-09_33_52.game.log
2009_08_24-00_00_00.game.log  2009_09_10-09_33_52.net.log
2009_08_25-00_00_00.game.log  2009_09_10-09_34_55.game.log
2009_08_26-00_00_00.game.log  2009_09_10-09_34_55.net.log
2009_08_27-00_00_00.game.log  2009_09_10-09_43_12.game.log
2009_08_27-09_15_35.game.log  2009_09_10-09_43_12.net.log
2009_08_27-09_15_35.net.log   2009_09_10-09_58_21.game.log
2009_08_27-09_26_40.game.log  2009_09_10-09_58_21.net.log
2009_08_27-09_26_40.net.log   2009_09_10-10_05_58.game.log
2009_08_27-09_43_49.game.log  2009_09_10-10_05_58.net.log
我想把今天日期以前的所有日志壓縮,并且壓縮完以后刪掉原文件,同一天的日志壓縮在同一個文件中。
腳本我自己寫了一個,不過當(dāng)時寫的是刪除上個月的,相當(dāng)?shù)膩y,而且現(xiàn)在日志越來越大,必須每天壓縮了
咱們這里高手多,肯定有比我想的好的 幫我想想吧

[ 本帖最后由 Lx308033262 于 2009-9-11 09:27 編輯 ]

論壇徽章:
0
2 [報告]
發(fā)表于 2009-09-10 17:24 |只看該作者
  1. #!/bin/bash
  2. rm -f *.list
  3. ls *.log | awk -F "_|-" '{print $0>>$1$2$3".list"}'
  4. for l in *.list
  5. do
  6.   day=${l%%.*}
  7.   [ $day -lt `date +%Y%m%d` ] && tar -T $l -czvf $day.tar.gz --remove-files
  8. done
  9. rm -f *.list
復(fù)制代碼

[ 本帖最后由 ywlscpl 于 2009-9-10 17:46 編輯 ]

論壇徽章:
0
3 [報告]
發(fā)表于 2009-09-10 18:06 |只看該作者
for i in `find . ! -name "$(date +%Y_%m_%d)*" `
do
tar -zcvf $i.tgz $i --remove-files
done

論壇徽章:
0
4 [報告]
發(fā)表于 2009-09-10 18:16 |只看該作者

回復(fù) #3 lucash 的帖子

需要:同一天的日志壓縮在同一個文件中

論壇徽章:
0
5 [報告]
發(fā)表于 2009-09-11 08:32 |只看該作者
for i in `find . ! -name "$(date +%Y_%m_%d)*" ! -name "*tgz"`
do
tar -zcvf ${i%%-*}.tgz ${i%%-*} --remove-files
done

[ 本帖最后由 lucash 于 2009-9-11 09:03 編輯 ]

論壇徽章:
0
6 [報告]
發(fā)表于 2009-09-11 08:51 |只看該作者

  1. [ -d backup ] || mkdir backup  #創(chuàng)建備份目錄
  2. for file in *.log
  3. do
  4.   [ $file \< $(date +%Y_%m_%d) ] || continue   # 如果是今天的日志,就跳過不處理
  5.   tar -rf "${file%%-*}.tar" "$file" && mv "$file" backup/  #把日志文件打包,包文件名是日志文件的日期(文件名中-之前的就是日期),如果成功,就把文件移動到backup目錄下
  6. done
  7. for file in *.tar
  8. do
  9.    gzip "$file"  #壓縮所有的包文件
  10. done

  11. #現(xiàn)在,所有備份過的文件都保存在backup目錄下,如果不需要的話,可以刪除
復(fù)制代碼

論壇徽章:
0
7 [報告]
發(fā)表于 2009-09-11 09:24 |只看該作者

回復(fù) #5 lucash 的帖子

這個把好像當(dāng)前文件夾得所有文件都打包了

論壇徽章:
0
8 [報告]
發(fā)表于 2009-09-11 09:25 |只看該作者

回復(fù) #2 ywlscpl 的帖子

這個可以 謝謝 我再把文件名的格式改改

論壇徽章:
0
9 [報告]
發(fā)表于 2009-09-11 09:27 |只看該作者

回復(fù) #6 springwind426 的帖子

謝謝  
[ $file \< $(date +%Y_%m_%d) ] 這個是怎么判斷的 拿文件名和日期做對比?

[ 本帖最后由 Lx308033262 于 2009-9-11 17:10 編輯 ]

論壇徽章:
0
10 [報告]
發(fā)表于 2009-09-11 09:47 |只看該作者
logger="/home/Austin/shell/log"
backup="/home/Austin/shell/backup"

ls -l $logger | awk '
BEGIN {
        year=strftime("%Y")
        month=strftime("%m")
        date=strftime("%d")
        all_date=year"_"month"_"date
}
$9 !~ all_date{
        split($9,name,"-")
        system("tar -czvf "backup"/"name[1]".tar "logger"/"name[1]"*")
}
' logger=$logger backup=$backup

最近在練awk所以都用awk實(shí)現(xiàn)。
這個腳本可以進(jìn)化下,以月份作為目錄來保存壓縮日志。修改system就可以了

[ 本帖最后由 戀家的老鼠 于 2009-9-11 09:49 編輯 ]
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP