- PR -

ある日付より以前に作成されたファイルを削除したい

1
投稿者投稿内容
kumapoo
ベテラン
会議室デビュー日: 2003/11/21
投稿数: 59
お住まい・勤務地: 住まいも、勤務も東京の品川あたり
投稿日時: 2006-08-23 19:29
kumapooです。

特定の日付より古いファイルを検出し、それらを自動的に削除するスクリプトを作成したいのですが、このようなことは可能ですか

ある日付(2006/3/31)より以前に作成されたファイルを削除するスクリプトを作成したいのですが、どうもアイデアが浮かびません。(初心者のため)

・findで該当ディレクトリをサーチする
・2006/3/31を変数Aにセットし、findで取得した日付との大小比較
・該当ファイルを削除

というようなロジックはイメージできるのですが、具体的にスクリプトに落とすことができません。

何かヒントになるようなご意見をいただけないでしょうか?

[ メッセージ編集済み 編集者: kumapoo 編集日時 2006-08-23 19:38 ]
温州蜜柑
ベテラン
会議室デビュー日: 2005/01/24
投稿数: 65
お住まい・勤務地: 東京都
投稿日時: 2006-08-23 20:35
引用:

kumapooさんの書き込み (2006-08-23 19:29) より:
kumapooです。

特定の日付より古いファイルを検出し、それらを自動的に削除するスクリプトを作成したいのですが、このようなことは可能ですか

ある日付(2006/3/31)より以前に作成されたファイルを削除するスクリプトを作成したいのですが、どうもアイデアが浮かびません。(初心者のため)

・findで該当ディレクトリをサーチする
・2006/3/31を変数Aにセットし、findで取得した日付との大小比較
・該当ファイルを削除

というようなロジックはイメージできるのですが、具体的にスクリプトに落とすことができません。

何かヒントになるようなご意見をいただけないでしょうか?

[ メッセージ編集済み 編集者: kumapoo 編集日時 2006-08-23 19:38 ]


こんな感じでしょうか?
コード:
find ./ -type f -ctime +10 -exec rm -f '{}' ';'


kumapoo
ベテラン
会議室デビュー日: 2003/11/21
投稿数: 59
お住まい・勤務地: 住まいも、勤務も東京の品川あたり
投稿日時: 2006-08-23 22:07
回答ありがとうございます。

温州蜜柑さんのスクリプトを参考にして、作成してみました。
うまく動きました。

find ./ -type f -mtime '+144' -exec rm -f {} \;


追加仕様で、削除したファイルの一覧をメールで飛ばそうと思うのですが、どのようにすればよいでしょうか???
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2006-08-24 08:28
find . -type f -ctime +10 > list.tmp
mail -s subject foobar@some.where.jp < list.tmp
find ./ -type f -ctime +10 -exec rm -f {} \;

1

スキルアップ/キャリアアップ(JOB@IT)