我有一个名为的目录/home/user/local.每隔两分钟左右,新文件将被转储到此目录中.我需要每2分钟检查一次这个目录,看看是否有新的文件/文件落在那里.如果有新文件,我需要将它的列表放入变量中以便稍后使用.我该怎么做这个shell脚本?
#! /usr/bin/env bash
FILELIST=/tmp/filelist
MONITOR_DIR=/home/usr/local
[[ -f ${FILELIST} ]] || ls ${MONITOR_DIR} > ${FILELIST}
while : ; do
cur_files=$(ls ${MONITOR_DIR})
diff <(cat ${FILELIST}) <(echo $cur_files) || \
{ echo "Alert: ${MONITOR_DIR} changed" ;
# Overwrite file list with the new one.
echo $cur_files > ${FILELIST} ;
}
echo "Waiting for changes."
sleep $(expr 60 \* 2)
done
Run Code Online (Sandbox Code Playgroud)
快速而肮脏的方式.:)它将监视目录中的更改,不仅是在新文件被转储时,而且还有一些文件丢失/删除.
文件列表存储在变量中$cur_files.
| 归档时间: |
|
| 查看次数: |
15936 次 |
| 最近记录: |