CronJobコマンドは、特定のディレクトリの複数のサブディレクトリを名前で削除します。

CronJobコマンドは、特定のディレクトリの複数のサブディレクトリを名前で削除します。

私は08:00から20:59まで10秒ごとにイメージスナップショットをFTPサーバーに送信する2台のIPカメラを持っています。ディレクトリ構造は次のとおりです。

`-- public_html
    `-- securitycams
        |-- cam01
        |   |-- 20190601
        |   |   |-- 08
        |   |   |   |-- 20190601_080000.jpg
        |   |   |   |-- 20190601_080010.jpg
        |   |   |   |-- 20190601_080020.jpg
        |   |   |   `-- ...
        |   |   |-- 09
        |   |   |   |-- 20190601_090000.jpg
        |   |   |   |-- 20190601_090010.jpg
        |   |   |   |-- 20190601_090020.jpg
        |   |   |   `-- ...
        |   |   |-- 10
        |   |   |-- 11
        |   |   |-- 12
        |   |   |-- 13
        |   |   |-- 14
        |   |   |-- 15
        |   |   |-- 16
        |   |   |-- 17
        |   |   |-- 18
        |   |   |-- 19
        |   |   `-- 20
        |   `-- 20190602
        |       |-- 08
        |       |   |-- 20190602_080000.jpg
        |       |   |-- 20190602_080010.jpg
        |       |   |-- 20190602_080020.jpg
        |       |   `-- ...
        |       |-- 09
        |       |   |-- 20190602_090000.jpg
        |       |   |-- 20190602_090010.jpg
        |       |   |-- 20190602_090020.jpg
        |       |   `-- ...
        |       |-- 10
        |       |-- 11
        |       |-- 12
        |       |-- 13
        |       |-- 14
        |       |-- 15
        |       |-- 16
        |       |-- 17
        |       |-- 18
        |       |-- 19
        |       `-- 20
        `-- cam02
        |   |-- 20190601
        |   |   |-- 08
        |   |   |   |-- 20190601_080000.jpg
        |   |   |   |-- 20190601_080010.jpg
        |   |   |   |-- 20190601_080020.jpg
        |   |   |   `-- ...
        |   |   |-- 09
        |   |   |   |-- 20190601_090000.jpg
        |   |   |   |-- 20190601_090010.jpg
        |   |   |   |-- 20190601_090020.jpg
        |   |   |   `-- ...
        |   |   |-- 10
        |   |   |-- 11
        |   |   |-- 12
        |   |   |-- 13
        |   |   |-- 14
        |   |   |-- 15
        |   |   |-- 16
        |   |   |-- 17
        |   |   |-- 18
        |   |   |-- 19
        |   |   `-- 20
        |   `-- 20190602
        |       |-- 08
        |       |   |-- 20190602_080000.jpg
        |       |   |-- 20190602_080010.jpg
        |       |   |-- 20190602_080020.jpg
        |       |   `-- ...
        |       |-- 09
        |       |   |-- 20190602_090000.jpg
        |       |   |-- 20190602_090010.jpg
        |       |   |-- 20190602_090020.jpg
        |       |   `-- ...
        |       |-- 10
        |       |-- 11
        |       |-- 12
        |       |-- 13
        |       |-- 14
        |       |-- 15
        |       |-- 16
        |       |-- 17
        |       |-- 18
        |       |-- 19
        |       `-- 20

次の間に撮影したスナップショットのコピーを保持することにのみ興味があります。

08:00 and 09:59
13:00 and 14:59
19:00 and 20:59.

だから私は時間制職業これにより、「10」、「11」、「12」、「15」、「16」、「17」、および「18」という名前のすべてのディレクトリが定期的に削除されます。

私はUNIXコマンドに初めてアクセスし、多くを検索しました。私は次のコマンドを作成しました。

find /home/******/public_html/securitycams/* -depth \( -name "10" -or -name "11" -or -name "12" -or -name "15" -or -name "16" -or -name "17" -or -name "18" \) -type d -exec rm -r "{}" \;

うまくいくようです。しかし、これは正しいアプローチですか?

ベストアンサー1

あなたの命令がよさそうですね。しかし、少し短縮することもできます。

  • -depth削除できる
  • \( -name ... -or -name ... \)短縮できる
  • 代わりに一度だけ呼び出されるように{} \;使用できます。{} +rm

find /home/******/public_html/securitycams -type d -name "1[0-25-8]" -exec rm -r {} +

カメラが08:00~20:59の間に画像を保存するように設定できる場合、おそらく08:00~09:59、13:00~14:59、19:00~20:59の画像のみを保存する構成することもできます。 20画像間:59?

私はこれを行う「正しい方法」があるとは思わない。クローンの仕事がうまくいけば、なぜできないのですか?

おすすめ記事