【问题标题】:How can I make a bash script run when files are added to a directory?将文件添加到目录时,如何运行 bash 脚本?
【发布时间】:2011-12-04 20:11:17
【问题描述】:

我在我的 Mac 上运行了一个 bash 脚本,它使用 cURL 将文件上传到远程 Ubuntu 服务器。我目前使用 cronjob 每隔 1 分钟运行一次脚本,然后使用“_uploaded”标志附加上传的文件。我很想避免使用 cronjob,而只是让脚本“监听”目录并仅在添加文件时上传文件。这是可能的,如果是这样,我将如何处理?有没有更好的方法来解决这个问题?

【问题讨论】:

    标签: macos bash unix curl cron


    【解决方案1】:

    只需添加一个文件夹操作。右键单击 Finder 中的目录,然后将脚本与该文件夹关联。参见例如http://www.simplehelp.net/2007/01/30/folder-actions-for-os-x-explained-with-real-world-examples/

    【讨论】:

    • 即使文件不是通过 Finder 添加的,此操作是否有效(例如,如果我使用 cp 复制文件,操作是否会运行)?
    • 是的,我刚刚在 OS X 10.6 上进行了测试,以确保它适用于 Finder 拖动和 cp 等。
    【解决方案2】:

    您可以使用 inotify 内核挂钩。 Ubuntu 服务器有包装器:inotify-tools 包

    【讨论】:

    • 我认为他需要 Mac OS X 的东西,而不是 Ubuntu 服务器。
    猜你喜欢
    • 2010-11-29
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    相关资源
    最近更新 更多