【发布时间】:2020-09-16 21:08:35
【问题描述】:
任何资源或建议都会有所帮助,因为我在编写脚本方面很垃圾
所以,我需要走这条路:/home/client/data/storage/customer/data/2020/09/15
并检查是否有 5 个或更多包含单词“REJECTED”的连续文件:
ls -ltr
-rw-rw-r-- 1 root root 5059 Sep 15 00:05 customer_rlt_20200915000514737_20200915000547948_8206b49d-b585-4360-8da0-e90b8081a399.zip
-rw-rw-r-- 1 root root 5023 Sep 15 00:06 customer_rlt_20200915000547619_20200915000635576_900b44dc-1cf4-4b1b-a04f-0fd963591e5f.zip
-rw-rw-r-- 1 root root 39856 Sep 15 00:09 customer_rlt_20200915000824108_20200915000908982_b87b01b3-a5dc-4a80-b19d-14f31ff667bc.zip
-rw-rw-r-- 1 root root 39719 Sep 15 00:09 customer_rlt_20200915000901688_20200915000938206_38261b59-8ebc-4f9f-9e2d-3e32eca3fd4d.zip
-rw-rw-r-- 1 root root 12829 Sep 15 00:13 customer_rlt_20200915001229811_20200915001334327_1667be2f-f1a7-41ae-b9ca-e7103d9abbf8.zip
-rw-rw-r-- 1 root root 12706 Sep 15 00:13 customer_rlt_20200915001333922_20200915001357405_609195c9-f23a-4984-936f-1a0903a35c07.zip
拒绝文件示例:
customer_rlt_20200513202515792_20200513202705506_5b8deae0-0405-413c-9a81-d1cc2171fa51REJECTED.zip
到目前为止我所拥有的:
!/bin/bash
YYYY=$(date +%Y);
MM=$(date +%m)
DD=$(date +%d)
#Set constants
CODE_OK=0
CODE_WARN=1
CODE_CRITICAL=2
CODE_UNKNOWN=3
#Set Default Values
FILE="/home/client/data/storage/customer/data/${YYYY}/${MM}/{DD}"
if [ ! -f $FILE ]
then
echo "NO TRANSACTIONS FOUND"
exit $CODE_CRITICAL
fi
【问题讨论】:
-
连续文件是什么意思?文件名,最后修改日期,...?你试图找出五个连续的文件是什么?
-
consecutive files什么是“连续”文件?文件没有顺序,它们都属于同一个目录,没有任何特定的顺序。由于没有排序,所以没有“连续文件”。 -
所以,在这条路径上:/home/client/data/storage/customer/data/${YYYY}/${MM}/{DD},每天都会创建一个新目录,并且上面的文件就像交易一样,如果有 5 个连续的 REJECTED 交易接收到严重状态。我正在考虑使用 find: $find 。 -type f -name "*.zip" | awk -v key='REJECTED.zip' '{if($1==key) c++;否则 {打印 c; c=0}} END {打印 c}'