- - PR -
.recycle 以下のものをすべて削除(shellプログラム)
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-08-25 15:53
こんにちは、初めて投稿させていただきます。
シェル(Vine Linux 3.1)プログラムで /home以下 すべて.recycleディレクトリーを探し出してその中の10日以上 使ってないファイル、ディレクトリーを削除することは できますか? 尚、.recycleのディレクトリーを指定させれば つぎのシェルプログラムでできることは確認 しています。 find /home/..../.recycle/* -atime +10 -exec rm -rf {} ¥; YN | ||||
|
投稿日時: 2005-08-25 16:08
質問内容の補足です。
.recycleのディレクトリー自信は消しません。 YN | ||||
|
投稿日時: 2005-08-25 16:35
こんにちは。
ディレクトリも削除対象にすると、色々マズイのではないでしょうか? ( サブディレクトリに変更があっても、変更の無い上位のディレクトリごと容赦なく消しますか?? ) 例えば、ディレクトリ以外を削除した後で、空のディレクトリがあれば消す、というような動作であれば分かるのですが。 [ メッセージ編集済み 編集者: angel 編集日時 2005-08-25 17:00 ] | ||||
|
投稿日時: 2005-08-25 17:10
こんにちはangelさん、
.recycleはsambaで使っているもので, 「ごみ箱」です。 各共有公開ホルダーから Windowsクライアントから削除されたものが この.recycleに入りますから、従って定期的に 中身は削除する必要があります。 YN | ||||
|
投稿日時: 2005-08-25 17:34
えーと、例をあげると次のような場合です。
と、いうように、配下のファイル・ディレクトリの atime が更新されても、その上位にあたるディレクトリは atime が更新されない場合があります。 ディレクトリを単純に atime で判断して削除対象にすると、こういった場合でも根こそぎ削除してしまうので、マズくは無いですか?? ※それ以前に、find を行った瞬間の atime 更新がどう影響するかも分からないですね… | ||||
|
投稿日時: 2005-08-25 17:41
10日間(240時間)アクセスのないファイルを削除するようにした。
/usr/sbin/tmpwatch 240 /home/nori/.recycle http://www.atmarkit.co.jp/flinux/rensai/linuxtips/735recyclecron.html samba の util に何かありませんか。 [ メッセージ編集済み 編集者: MMX 編集日時 2005-08-25 22:17 ] | ||||
|
投稿日時: 2005-08-25 18:39
atimeは無視して下さい。
要するに知りたいことは、下記シェルプログラムにおいて find /home/..../.recycle/* -exec rm -rf {} ¥; "/.recycle/* "の部分を指定することなく "..../.recycle/"下位のものをすべて削除する が出来ないかということです。 samba共有ホルダーは結構変更があり、 そのたびにシェルプログラムを 訂正するのが面倒くさいのです。、 MMXさんが提示してもらった所でも やはりディレクトリーの場所指定(./recycleの場所) は必要と思いますが。 YN | ||||
|
投稿日時: 2005-08-25 22:20
こんばんは。
.recycle の位置が分からない/数が不定ってのが問題ですか。 MMXさんがご提示になった tmpwatch を使うなら、find で .recycle の位置を探して、それを while ループの中で tmpwatch 処理すれば良いと思います。 find 〜 | while read DIR; do tmpwatch 240 "$DIR"; done 以上、ご参考まで。 [ メッセージ編集済み 編集者: angel 編集日時 2005-08-25 22:24 ] |