특정 디렉터리에서 이름으로 여러 하위 디렉터리를 삭제하는 CronJob 명령

특정 디렉터리에서 이름으로 여러 하위 디렉터리를 삭제하는 CronJob 명령

저는 08:00부터 20:59까지 10초마다 이미지 스냅샷을 FTP 서버로 보내는 두 대의 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?

나는 이것을 수행하는 "올바른 방법"이 없다고 생각합니다. 크론 작업이 효과가 있다면 왜 안 되겠습니까?

관련 정보