• ベストアンサー

Solaris5.6 の bshで3が月前の日付を取得するには?

毎日1回ファイルのリストを取得しているのですが、 それを月1回ある特定の時間起動の時に、3ヶ月前の ファイルリストは削除したいと考えいます。 ファイルリストは以下の形式で保存してます。 filelist.YYMMDD(例:filelist.030208) 問題は、3ヶ月前という日付を "date"コマンドで取得 する方法がわからないという点です。 TZ=JST+15 export TZ ↑このへんだと日にち指定は出来ますが、月は指定 できなかったのです。 bshで組んでいます。 何か良い策があったら教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • shige_70
  • ベストアンサー率17% (168/946)
回答No.2

#1の方のご回答されているとおりで良いと思いますが、findによる削除のやりかたとしては、#1の方の書かれているものの他に $ find /path/to/log_dir -name 'filelist.*' -mtime +90 -exec rm {} \; という書き方もあります。

bluckyu
質問者

お礼

ありがとうございます。findコマンドバージョンを 使わせて頂きます。

その他の回答 (1)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.1

古いログを消したいという動機なら,そんな面倒なことをしなくても,find で90日以上更新されていないファイルを検索して削除すればいいのではないでしょうか. $ rm -f `find /path/to/log_dir -name "filelist.*" -mtime +90`

bluckyu
質問者

お礼

おっしゃる通りです。その使い方忘れてました。。。 ありがとうございます。

関連するQ&A