1

AIX システムのパス \var\log\applog\nmon にある古いログ ファイルを削除するスクリプトを作成しようとしています。通常、ファイル システムがほぼ満杯であるというアラートが表示され、パスに移動して古いログ ファイルを削除するだけです。基本的に私が探しているのは、トウモロコシの仕事でスケジュールできるスクリプトです。このスクリプトは、ログを 2 か月間保持し、残りを削除する必要があります。

繰り返しますが、削除したくないこれらの2つのファイルがあります。

名前: .profile および .sh_history

私はこのコマンドを試しました:

find ./My_Dir -mtime  +60 -type f –delete

正常に動作しますが、前述の 2 つのファイルも削除されます。

古いログ ファイルは削除できますが、これら 2 つのファイルは削除できないように、スクリプトを続行する方法がわかりません。

ありがとう

4

1 に答える 1

2

-not -name ...次のパラメーターを使用できます。

find ./My_Dir \
    -mtime  +60 \
    -type f \
    -not -name ".profile" \
    -not -name ".sh_history" –delete

ちなみに、古いファイルを削除するには、優れたlogrotate ツールを使用することをお勧めします。


コメントから更新:

find: 0652-017 -not は有効なオプションではありません。

次に、これを使用します。! -name "name_of_file"

find ./My_Dir \
    -mtime  +60 \
    -type f \
    ! -name ".profile" \
    ! -name ".sh_history" –delete
于 2013-05-30T10:12:20.923 に答える