【问题标题】:bash & inotify - monitoring and moving filebash & inotify - 监控和移动文件
【发布时间】:2016-03-01 08:38:56
【问题描述】:

我不是 Linux 的高级用户,但我正在寻找 bash 中的一些 简单脚本,它们将在 cron 或任何其他方式下运行,在 5-10 分钟内在 新目录/文件 已经上传到目录 脚本将在 新目录/文件 之后 寻找 新文件将包含文件的新目录移动到其他位置

我发现 inotify 可以很好地解决这个问题,但问题是如何使用它。

【问题讨论】:

标签: linux bash monitoring inotify


【解决方案1】:

我一直在使用 inotifywait 来识别某些路径中发生了一些文件系统更改。

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

您可以指定您感兴趣的更改(删除、创建、修改等)以及脚本是应该输出它还是在更改后直接退出。

我一直在使用这个工具,我的脚本正在启动 inotifywait,当它存在时,执行一些操作并再次重新启动 inotifywait。

希望这会有所帮助。 马丁

【讨论】:

  • 我根据互联网上的许多信息创建了类似的东西,但遗憾的是如何使用包含一些文件的目录。 cd "$dir" inotifywait -m -r -q -e close_write --format %f . | while IFS= read -r file;do mv -p "$file" "$target" echo "$file has been copied to the $target" done
  • 对不起,我不明白 - “如何使用包含一些文件的目录”?你什么意思?有什么问题?
  • 再次确定。我有一些名为“uploaded”的目录,我想监视这个目录的一些更新。有时,此目录将包含文件和目录以及这些目录中的文件。 /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
  • 为了维护文件结构,使用rsync怎么样?类似:while [ true ];做 inotifywait -m -r -q (其他选项) && rsync -ar /uploaded/ /moved/ ;完成linux.die.net/man/1/rsync
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多