RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
SELECTED ENTRIES
RECENT COMMENTS
RECENT TRACKBACK
CATEGORIES
ARCHIVES
MOBILE
qrcode
LINKS
PROFILE
OTHERS

02
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
--
>>
<<
--

bose999's memo

<< 家族が増えました | main | Rubyの本をぽちっとな >>
7日より前のログは消したいんだけど。。。
0
    同僚からヘルプ依頼。
    
    「7日より前のログをうまく消す方法ないかな。
     ログは毎日、日付で分けてるんだけど消す事考えてなかった。
     シェルスクリプトかなんかで欲しい。すぐ欲しいんだけど。」
    
    「了解。rubyで作っていい?」
    
    「いいよ。Linuxだし。」
    
    「OK。ちょっとつくるよ。10分頂戴。」
    
    というので作ったのが、下記。
    別のどっかで役に立つかもという事で残しときます。
    
    まだソースは勢いで作ったので、改善の余地はあるけど、
    さくさくで作れてコンパイルもないので、
    こういう時は非常に便利なRubyだなと。
    
    
    #!/usr/bin/ruby #消したいファイルが存在するフォルダを指定 FOLDER_PATH = '/home/xxxx/log' #何日以前のものを消すか指定 DEL_FILE_DAY = 7 #設定日付だけ、今の時間からマイナス日付してTimeオブジェクト化する delDay = Time.now delDay = delDay - 24*60*60*DEL_FILE_DAY.to_i #消したいフォルダの中身を処理 Dir::open(FOLDER_PATH) {|d| d.each{ |f| if FileTest.directory?(f)==false #ディレクトリではないものだけを処理 if File::mtime(FOLDER_PATH + '/' + f.to_s) < delDay #DEL_FILE_DAY以前のファイルを消す File::delete(FOLDER_PATH + '/' + f.to_s) end end } }
    | Ruby | 21:19 | comments(0) | trackbacks(0) | - | - |









    http://bose.techie.jp/trackback/552201