ディレクトリから古いファイルを削除しますが、ルートディレクトリは削除しません

ディレクトリから古いファイルを削除しますが、ルートディレクトリは削除しません

現在、毎時間表示されているパスのすべてのファイルとディレクトリを削除するようにcrontabを設定しています。

私の現在の解決策は2行なので、誰かがこれを1行に置き換える方法を教えてくれることを願っています。現在の2番目のコマンドcompleteもディレクトリを削除します。completeディレクトリを維持して削除したいですcomplete

私は何が間違っていましたか?後ろにスラッシュがあってはいけませんかcomplete/*

60分より古いディレクトリのファイルを削除するには、次の手順に従ってください。

0 */1 * * * find /root/Downloads/complete/ -type f -mmin +60 -delete

60分より古いディレクトリを削除するには、次の手順に従ってください。

0 */1 * * * find /root/Downloads/complete/ -type d -mmin +60 -exec rm -r "{}" \;

ベストアンサー1

おそらくあなたは

0 */1 * * * find /root/Downloads/complete/* -type d -mmin +60 -exec rm -r "{}" \;

例では、findディレクトリ名(およびその下のすべてのエントリ)が一致しますが、ワイルドカードを使用すると、シェルはディレクトリ名をディレクトリの下のすべてのエントリ(ロール呼び出しを除く)に拡張します。

おすすめ記事