
▽やりたいこと
abcde/cache/以下にある、1日以上前にあるファイルを全削除するにはどうすればよいでしょうか。
abcde/cache/ファルダは、複数あります。
まず初めにsshで接続して、実際にファイルを探し、削除してから、cronなるものにチャレンジしようと思っていましたが、一番初めのファイルを探すところで躓きました。
find . -name "cache"だと、消したくない、cacheフォルダまで、
検索されてしまうので、
まずは、複数あるabcde/cache/フォルダを探す方法を知りたいです。
▽step0(ssh)
abcde/cache/フォルダを探す
▽step1(ssh)
abcde/cache/フォルダ以下のファイル全削除
▽step2(ssh)
abcde/cache/フォルダ以下の、1日以上前にあるファイルを全削除
▽step3(cron)
上記をcrondで実行
ヒントだけでもよいので、誰か教えてください。
No.6ベストアンサー
- 回答日時:
abcdeの下ってそういう意味でしたか。
それならばこうです。
find . -type f -regex '.*/abcde/cache/[^/]*' -print
実際に消去するには -print を
-exec rm -f \{\} \;
に。
crontabに書くには . ではなくフルパスで。
この回答への補足
ありがとうございます。
アドバイスのおかげで、ものすごく進展した気がします。
もしよければですが、さらに二点教えてください。
▼1.
find . -type f -regex '.*/abcde/cache/[^/]*' -print
を試すと、
Permission denied
となってしまいます。なぜでしょうか?
Permission deniedのとことろで引っかかっているのでしょうか?
ちなみに、
find -regex '.*/abcde/cache/[^/]*'
とやると、自分の期待したファイル結果を表示することができたのですが、この書き方では、crontabに書けないでしょうか?
▼2
>abcdeの下ってそういう意味でしたか。
皆さんのアドバイスで共通していたのが、
find で /abcde 以下の cache ディレクトリをみつけるだけなら
find /abcde -name cache
ググッてみても、aディレクトリ以下を探す
find /a
みたいな書き方をされていたのですが、
今回のケースで、この書き方では、なぜ期待通りの結果が得られないのでしょうか?
今後の参考までに教えていただければ、幸いです。
▼1.について
find . -type f -regex '.*/abcde/cache/[^/]*' -print
今、念のためもう一度試したら、望みどおりの結果がちゃんと表示されました。ちゃんと確かめてから投稿したつもりだったのですが...。申し訳ありません........。
No.5
- 回答日時:
find で /abcde 以下の cache ディレクトリを全部みつけるだけなら
find /abcde -name cache
で OK.
あと, 「うまくいきません」というときには何がどう「うまくいかない」のかをちゃんと書いてください. どういう状況で何が得られることを期待して, 実際にはどんな結果になったのか, ですね.
この回答への補足
■find . -name "cache"を試すと、下記が表示されます
./public_html/rails/modules/abcde/cache
./public_html/ruby/modules/wiki/private/cache
./net/cache
./n/abcde/cache
:
以下略
■この例でいくと、期待しているのは、下記二つを検出したいのですが、
./public_html/rails/modules/abcde/cache
./n/abcde/cache
■find /abcde -name cacheを実行すると、下記結果となります
find: /abcde: No such file or director
No.4
- 回答日時:
まず訂正です
>-ctime -1
これは1日以内でした。1日以上は+1です。
>「cache」フォルダだけを探すと、削除したくないファルダもあるので、/「abcde」フォルダ以下の「cache」フォルダ内のファイルだけを削除したいのですが、そんなことはできるのでしょうか。
/abcde の下の深いところにcacheフォルダがあって、その直下のファイルを消したい、ということでしょうか
cacheフォルダの中の深いところまで辿ってファイルを消したい、ということでしょうか
/abcdeから開始するので
find /abcde
ファイルなので
-type f
1日以上前を作成日で判断するなら
-ctime +1
変更日で判断するなら
-mtime +1
肝心のファイル名の判定ですが, -regexを使って書けると思います。
cache直下なら、cache/の後に/が無いはずなので
-regex '.*/cache/[^/]*'
cache以下なら、/を含めて任意の文字が来るので
-regex '.*/cache/.*'
まずは、-printで期待通りのファイルが表示されるか、確認してみましょう
この回答への補足
まずファイル表示からやってみたのですが、
うまくいきません。下記のどこがいけないのでしょうか?
find /abcde -type f -regex '.*/cache/[^/]*' -print
No.1
- 回答日時:
man find でfindのオプションを確認できます。
step0
abcdeの深さは一緒でしょうか? a/cache b/c/cache 等と深さも変わるのでしょうか?
深さが一緒なら、開始ディレクトリは複数指定可能なので
find */cache
という感じで指定できます。
step1/step2
全部消すのですか?1日以上前を消すのですか?
-type f でファイルを対象とできます。
-ctime -1 で 1日以上前に作成されたファイルを指定できます。
step3
crontabを使いましょう。
詳細はcrontabで検索してください
注意点としては、相対パスは使わない(findではなく/usr/bin/find等)ことでしょうか
参考URL:http://www.linux.or.jp/JM/html/GNU_findutils/man … http://www.linux.or.jp/JM/html/cron/man1/crontab …
この回答への補足
ご回答ありがとうございます。
>abcdeの深さは一緒でしょうか? a/cache b/c/cache 等と深さも変わるのでしょうか?
深さは違います。
<補足>
「cache」フォルダだけを探すと、削除したくないファルダもあるので、/「abcde」フォルダ以下の「cache」フォルダ内のファイルだけを削除したいのですが、そんなことはできるのでしょうか。
※「abcde」フォルダ以下の「cache」フォルダは、異なる階層に、複数存在しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux shellscript内のコマンドを、sudo(toor)として実行 2 2022/09/23 15:05
- Visual Basic(VBA) batにて、異なるフォルダの同名ファイルを参照し、文字列を判別。擬似配列で変数へ格納 3 2022/04/10 03:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- その他(OS) アプリの起動に必要なファイルについて 1 2023/04/23 17:53
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- PDF PDFを自動添付したメールを送信してくれるツールを探しています。 2 2023/02/07 15:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 10:35
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
- Excel(エクセル) マクロのコードを、少しでも削って短くしたい 3 2022/08/30 07:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォルダは残してファイルだけ...
-
windows11におけるファイルの並...
-
Google ドライブ ってフォルダ...
-
勝手にフォルダが作成されます...
-
フォルダの中身を指す場合、な...
-
複数フォルダのファイルを1つ...
-
パーフェクトビューワー SDカ...
-
エクセルVBA:毎月名前が変わる...
-
Mac特有のフォルダ類
-
指定以外のファイルやフォルダ...
-
エクセルのファイルの削除禁止
-
フォルダ内のファイル移動が出...
-
XP ファイル名の補完
-
miエディタでモード設定ができない
-
Windows7の一時ファイルについ...
-
フォルダだけ削除する方法あり...
-
iTunesのbackupファイルが複数...
-
ダウンロードフォルダが二つ以...
-
フォルダやファイルの最終アク...
-
ZIPフォルダの中身をCDに焼く
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダは残してファイルだけ...
-
windows11におけるファイルの並...
-
勝手にフォルダが作成されます...
-
フォルダの中身を指す場合、な...
-
複数フォルダのファイルを1つ...
-
Google ドライブ ってフォルダ...
-
SDカード内にたくさんの文字化...
-
エクセルVBA:毎月名前が変わる...
-
パーフェクトビューワー SDカ...
-
iTunesのbackupファイルが複数...
-
VBA、フォルダのパスに環境文字...
-
C:\\Logs このフォルダは何で...
-
フォルダ内のファイル移動が出...
-
フォルダ内の順番
-
USBメモリーの中のいらないファ...
-
フォルダだけ削除する方法あり...
-
多重に入れ子になっているフォ...
-
ZIPフォルダの中身をCDに焼く
-
cドライブのフォルダについて
-
tempフォルダの異常増殖
おすすめ情報