RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
コンテナ・ベース・オーケストレーション Docker/Kubernetesで作るクラウド時代のシステム基盤
コンテナ・ベース・オーケストレーション Docker/Kubernetesで作るクラウド時代のシステム基盤 (JUGEMレビュー »)
橋本 直哉,須江 信洋,前佛 雅人,境川 章一郎,佐藤 聖規,山田 修司,青山 尚暉,市川 豊,平岡 大祐,福田 潔,矢野 哲朗
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
RECOMMEND
SELECTED ENTRIES
RECENT COMMENTS
RECENT TRACKBACK
CATEGORIES
ARCHIVES
MOBILE
qrcode
LINKS
PROFILE
OTHERS

10
--
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
29
30
31
--
>>
<<
--

bose999's memo

<< Eclipseの次期バージョン、Dynamic Languages Toolkit、Ruby | main | 妻と子供を持つものとして。。。 >>
同じファイル名で毎日出力されるファイルを世代管理したい。。。
0
    
    同じファイル名で毎日出力されるファイルを世代管理したい。
    という事で大急ぎで作成、ハイー作りますよと。
    
    下記をcronに設定してねと。。
    
    
    #!/usr/bin/ruby #ローテーションするファイルの存在するフォルダ FOLDER_PATH = '/home/xxx/dump' #ローテーションするファイル FILE_NAME = 'db.dmp' #何個ファイルを何世代ローテーションするか指定 ROLLING_FILE = 7 #ローテーションする元のファイルフルパス名 rollingFile = FOLDER_PATH + '/' + FILE_NAME if FileTest.exist?(rollingFile) #ローテーションするファイルが存在するので処理をする #最も古い世代のファイルフルパス名 lastDoFileName = rollingFile + '.' + ROLLING_FILE.to_s if FileTest.exist?(lastDoFileName) #最も古い世代のファイルが存在するので削除する File::delete(lastDoFileName) end (ROLLING_FILE - 1).downto(1) { |i| #既存の世代管理しているファイルの世代を1つずつアップする changeBeforeName = rollingFile + '.' + i.to_s changeAfterName = rollingFile + '.' + ( i + 1 ).to_s if FileTest.exist?(changeBeforeName) #世代をアップするファイルが存在したので世代をアップする File::rename( changeBeforeName, changeAfterName ) end } #最新ファイルを最新世代にする。 File::rename( rollingFile, rollingFile + '.1' ) end
    | Ruby | 22:49 | comments(2) | trackbacks(0) | - | - |
    とおるさんへ

    はい。場面によってはlogrotateの方がいいと思います。

    ただ、今回Rubyでやったのはlogrotateを知らない人に
    logrotateを教えてミスのリスクを負うよりも、
    今回のRubyのソースの方が要件を満たしていて
    シンプルでミスしにくいのでどうぞ。
    という事で作りました。(笑

    1つのファイルの中の定数で、パス・ファイル名とか
    ローテーション数とか変更できるので、
    viでこのスクリプトをいじるかFTPで差し替えればと
    運用変更がシンプルという事で。

    #Rubyで書きたかったというの別次元で。。。(笑

    logrotateの参考URL:
    http://linux.kororo.jp/cont/server/logrotate.php
    | bose... | 2007/06/29 10:45 AM |

    UNIX系だったらloglotateでいいのではないか?
    とふと思いました。
    | とおる | 2007/06/29 10:23 AM |










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