首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Incron用于复制新文件

Incron用于复制新文件
EN

Stack Overflow用户
提问于 2015-10-27 06:18:50
回答 2查看 2.2K关注 0票数 3

我已经安装并运行了CentOS 7。

据我所知,incrond服务可以监控/var/www/html/uploads/,如果上传了一个新文件,那么使用IN_CREATE我们可以做一些事情。在我的例子中,我希望将这个新文件复制到目录/var/www/html/uploads/ new /

但当我尝试使用incron作业时

代码语言:javascript
复制
/var/www/html/uploads/ IN_CREATE cp /var/www/html/uploads/new/

我没有结果。

我想我的原始示例是错误的,但我无法理解如何使用INCRON将新文件从监视目录复制到另一个位置。

感谢您的任何提示和想法尝试。

EN

回答 2

Stack Overflow用户

发布于 2015-11-24 19:00:32

incron条目的语法为:

代码语言:javascript
复制
<path> <mask> <command>

如果监视目录,则$@包含目录路径,$#包含触发事件的文件,但如果监视文件,则必须使用包含完整路径的$@$#。

在您的示例中,条目应如下所示:

代码语言:javascript
复制
/var/www/html/uploads/ IN_CREATE cp $@$# /var/www/html/uploads/new/
票数 4
EN

Stack Overflow用户

发布于 2015-10-29 18:08:25

我使用INOTIFY在Stackexchange上找到了更好的解决方案。

第一

代码语言:javascript
复制
yum install inotify-tools

然后创建一个bash脚本,假设dirmonit.sh如下

代码语言:javascript
复制
inotifywait -m /var/www/html/uploads/ -e create -e moved_to |
    while read path action file; do
        echo "The file '$file' appeared in directory '$path' via '$action'"
        # do something with the file
    cp /var/www/html/uploads/$file /var/www/html/uploads/new/$file
    done

并在shell背景下启动

代码语言:javascript
复制
nohup sh /scripts/dirmonit.sh &
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33356621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档