我正在寻找 if 语句。因此,当我运行脚本时,它会为我提供带有日期的备份列表。 if语句是,如果最近2天没有备份则回显“没有最近的备份”。
当我 ls -lrth 时:
-rw-r--r--。 1 nfsnobody nfsnobody 1.5G 8月15日12:02
-rw-r--r--。 1 nfsnobody nfsnobody 1.5G 8月16日 01:30
如果日期早于 2 天,则回显“”
最佳答案
BACKUP_DIRECTORY="basename" #basename of the directory
MATCHES=$(find "$BACKUP_DIRECTORY" -maxdepth 1 -type f -mtime -2 -ls | wc -l)
if [ $MATCHES -eq 0 ]; then
echo "CRITICAL: No files older than 2 days yet in directory $*"
exit 2
else
echo "OK: Found $MATCHES file(s) of the last 2 days in ${BACKUP_DIRECTORY}"
exit 0
fi
要获取最近 2 天的备份列表,请使用:
查找“$BACKUP_DIRECTORY”-maxdepth 1 -type f -mtime -2 -ls
-最大深度 1
。指定深度目录遍历。我们不想在子目录中向下移动超过 1 层。-type f
表示仅查找文件(不查找目录)。-mtime -2
表示文件的存在时间小于 2 天。
wc -l
统计找到的文件数量
关于Linux-ls If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39054925/