当前位置: 技术问答>linux和unix
Shell实现文件夹监控
来源: 互联网 发布时间:2016-08-28
本文导语: 想实现的功能是: 监控一个文件夹, 平常状态下它是空的, 一旦有新的文件被传进来并且传送完成了,就将此文件移动到另一文件夹下, 如此往复循环。 从未接触过shell,还望能够给出个差不多的脚本代码,百拜~...
想实现的功能是:
监控一个文件夹,
平常状态下它是空的,
一旦有新的文件被传进来并且传送完成了,就将此文件移动到另一文件夹下,
如此往复循环。
从未接触过shell,还望能够给出个差不多的脚本代码,百拜~
在线等,谢谢。
监控一个文件夹,
平常状态下它是空的,
一旦有新的文件被传进来并且传送完成了,就将此文件移动到另一文件夹下,
如此往复循环。
从未接触过shell,还望能够给出个差不多的脚本代码,百拜~
在线等,谢谢。
|
要实时监控的话 估计就得用inotify来实现了 要用C语言
如果用shell脚本的话 只能定时来一次 要是不停的while查看有没有新文件的话 也太恐怖了
如果用shell脚本的话 只能定时来一次 要是不停的while查看有没有新文件的话 也太恐怖了
frompath=/path1
topath=/path2
for file in $frompath/*
do
if [ "$(lsof $frompath/$file" != "" ];then
mv $frompath/$file $topath/
fi
done
|
ls的不错 然后加入到crontab里就可以了
|
DIR_INPUT=""
DIR_OUTPUT=""
while :
do
for file in ${DIR_INPUT}
do
if [ -f ${file} ];then
mv ${file} ${DIR_OUTPUT}/${file} > /dev/null 2>&1
fi
done
# 一分钟扫描一次
sleep 60
done
DIR_OUTPUT=""
while :
do
for file in ${DIR_INPUT}
do
if [ -f ${file} ];then
mv ${file} ${DIR_OUTPUT}/${file} > /dev/null 2>&1
fi
done
# 一分钟扫描一次
sleep 60
done