我有兩個 IP 攝影機,從 08:00 到 20:59,每 10 秒將影像快照傳送到 FTP 伺服器。目錄結構如下圖所示:
`-- 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?
我認為沒有“正確的方法”來做到這一點。如果 cron 作業適合你,為什麼不呢?