2016-03-01 70 views
0

我不是Linux的高级用户,但我正在寻找一些简单脚本在bash中将以cron或任何其他方式工作,在5-10分钟时间在时间​​寻找新文件,后新的目录/文件已经上传到该目录脚本将移动新的目录与文件到其他位置bash&inotify - 监视和移动文件

我发现inotify这可以是一个很好的解决方案,但问题是如何去与它。

+0

http://stackoverflow.com/questions/4062806/inotify-how-to-use-it-linux – ritesht93

+0

但我认为它不相关的答案为我的问题。 我正在寻找可以将“新”文件移动到新位置的解决方案。 – jagrok

+0

使用[incron](http://inotify.aiken.cz/?section=incron&page=about&lang=en)。它来自inotify的开发者并为此目的而制作。无论如何,你的问题太广泛了。 – hek2mgl

回答

0

我一直在使用inotifywait来识别某些文件系统在特定路径中发生变化。

看看: http://linux.die.net/man/1/inotifywait

可以在什么样的变化,你有兴趣(删除,创建,修改等)以及是否脚本应该输出,或干脆退出更改后指定。

我一直在使用这个工具的方式,我的脚本开始inotifywait,当它存在时,做一些操作并重新启动inotifywait。

希望这会有所帮助。 马丁

+0

我基于互联网上的许多信息创建了类似的东西,但可惜的是如何处理包含一些文件的目录。 'cd“$ dir”' 'inotifywait -m -r -q -e close_write --format%f。 |而IFS =读取-r文件;'do 'mv -p“$ file”“$ target”' 'echo“$ file已被复制到$ target”' 'done' – jagrok

+0

对不起,我没有理解 - “如何处理包含一些文件的目录”?你什么意思?有什么问题? –

+0

再次确定。 我有一些目录称为例如“上传” 我想监视此目录的一些更新。 此目录不时会包含这些目录中的文件和目录以及文件。 /uploaded/directory/file1.mpg /uploaded/directory/file2.txt /uploaded/directory2/file.avi /uploaded/directory3/file4.mpeg 那么这个文件应该以自己的结构被移到所有文件操作完成后的新位置。 /moved/directory/file1.mpg /moved/directory/file2.txt /moved/directory2/file.avi /moved/directory3/file4.mpeg – jagrok