这个问题来自我在Stackoverflow 上提出的另一个问题。我正在使用Watcher - 同样的问题也适用于Incron - 来监视文件夹及其子文件夹的更改,并悄悄地将这些更改转移到 Dropbox。
我监视write_close事件 - IN_CLOSE_WRITE- 出于这个目的。本来我是在看modify事件,即IN_MODIFY。虽然这行得通,但我发现在写入大文件时,它会触发不止一次。这听起来很公平,所以我改用了,IN_CLOSE_WRITE因为我觉得假设对于给定的文件它只会发生一次是合理的。
然而,事实并非如此。即使对于在 Nano 中创建的非常小的文本文件(只有一个字符),该事件也会发生两次。当同一个文件在 Dropbox 上同步两次时,这充其量会导致不必要的流量。在我自己的情况下,它会导致灾难,因为在第一个事件中我执行同步然后删除服务器端文件。结果 - 在第二个事件中,Dropbox 侧文件变为 0 字节文件。
我现在正在处理这个问题,让我的同步脚本在我做任何其他事情之前休眠 10 秒,然后在尝试 Dropbox 同步之前检查有问题的文件是否仍然存在。这是有效的,因为在第二次迭代时文件丢失并且脚本刚刚终止。
这听起来充其量是骇人听闻的。也许不是一个糟糕的黑客,但我更愿意理解 - 为什么甚至IN_CLOSE_WRITE事件发生不止一次?
一些附加信息
输出来自 ps ax|grep watcher.py
23880 ? Sl 0:01 python /usr/local/bin/watcher.py restart
24977 pts/0 S+ 0:00 grep --color=auto watcher.py
Run Code Online (Sandbox Code Playgroud)
文件系统是ext4. 我应该提到,我遇到了与 Incron 完全相同的问题。我从通过/etc/rc2.d. Incron OTH 通过其默认apt-get install incron …
我正在尝试减少我的 Ubuntu docker 映像的占用空间。鉴于 man 文件几乎没有用处,我删除了它们,提交了图像,然后尝试使用它。AFAICT它没有伤害。但是,我认为值得在这里询问。通过这样做,我是否为未来存储了任何丑陋的问题?
Ubuntu 是适合在 Docker 容器内使用的发行版吗?如果是这样,Ubuntu是如何安装的
docker pull ubuntu
Run Code Online (Sandbox Code Playgroud)
与 Ubuntu 14.04 不同?
我正在设置一个 Ubuntu 14.04 服务器来试验Crosswalk。我已经安装了Java JDK,apt-get install default-jdk以及ANT, apt-get install ant。whereis java返回/usr/bin/java并whereis ant返回/usr/bin/ant。我发现令人困惑的是下一步:配置说明的工具
export PATH=<path to ant>/bin:<path to JDK>/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
目前尚不清楚我应该如何解释这一点。留给我自己的设备我可能已经完成了
export PATH=/usr/bin/ant
Run Code Online (Sandbox Code Playgroud)
但看起来不像他们所建议的那样。这对我来说是未知的领域。我将不胜感激任何帮助。
我有一台戴尔 Inspiron 5568 笔记本电脑,它不再在 Windows 10 下启动。本机(戴尔)恢复选项不允许我在尝试恢复出厂设置之前备份我的任何数据。因此,我更改了“传统启动”的 BIOS 设置并从 Ubuntu Live 16.04 USB 记忆棒启动。这是我看到的
parted -l reports
Partition 1 524Mb FAT32 EFI System partition boot,esp
Partition 2 134Mb Microsoft reserved partition msftres
Parition 3 495Gb Basic data partition msftdata
...
Parition 8 148Gb Basic data partition msftdata
Parition 9 472Mb ntfs hidden,dflag
Two more hidden ntfs paritions
fdisk -l reports
/dev/sda1 500Mb EFI System
/dev/sda2 128Mb Microsoft reserved
/dev/sda3 460G Microsoft basic data
...
/dev/sda8 138Gb Microsoft basic data
/dev/sda9 …Run Code Online (Sandbox Code Playgroud)