我已经安装并运行了CentOS 7。
据我所知,incrond服务可以监控/var/www/html/uploads/,如果上传了一个新文件,那么使用IN_CREATE我们可以做一些事情。在我的例子中,我希望将这个新文件复制到目录/var/www/html/uploads/ new /
但当我尝试使用incron作业时
/var/www/html/uploads/ IN_CREATE cp /var/www/html/uploads/new/我没有结果。
我想我的原始示例是错误的,但我无法理解如何使用INCRON将新文件从监视目录复制到另一个位置。
感谢您的任何提示和想法尝试。
发布于 2015-11-24 19:00:32
incron条目的语法为:
<path> <mask> <command>如果监视目录,则$@包含目录路径,$#包含触发事件的文件,但如果监视文件,则必须使用包含完整路径的$@$#。
在您的示例中,条目应如下所示:
/var/www/html/uploads/ IN_CREATE cp $@$# /var/www/html/uploads/new/发布于 2015-10-29 18:08:25
我使用INOTIFY在Stackexchange上找到了更好的解决方案。
第一
yum install inotify-tools然后创建一个bash脚本,假设dirmonit.sh如下
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背景下启动
nohup sh /scripts/dirmonit.sh &https://stackoverflow.com/questions/33356621
复制相似问题