美文网首页
关于rsync与node.js readdir()的坑

关于rsync与node.js readdir()的坑

作者: amnsss | 来源:发表于2016-10-26 20:09 被阅读135次

readdir

node.js readdir()是会读隐藏文件的,'.'和'..'文件除外。

ls -a可查看隐藏文件,可以看到几乎每个文件夹都有'.'和'..'这两隐藏文件。

  • ls / ls -a


  • readdir()


rsync

rsync一个文件 a.txt 到另外一个目标文件夹时,在文件还没传输完成的过程中,是会在目标文件夹创建临时隐藏文件 .a.txt.[randomhash] (randomhash为随机计算的hash值)。

如果想把临时文件定位到其他文件夹,可利用下面参数设置:
-T, --temp-dir=DIR create temporary files in directory DIR

所以在写代码中一定注意存在的坑,如果你要从目标文件夹读取文件 2016-10-01-abc.txt 而你用的是readdir(可以读隐藏文件),并且是根据文件名是否包含 '2016-10-01' 来读的话,如果此时文件还在传输,就坑了,你读到的就是零时隐藏文件 .2016-10-01-abc.txt.[randomhash]

参考

rsync-临时文件-stackoverflow

相关文章

网友评论

      本文标题:关于rsync与node.js readdir()的坑

      本文链接:https://www.haomeiwen.com/subject/fatjuttx.html