通过">"重定向日志,每次写入日志时会不会先把已有日志读入内存,然后再追加?

疑问

1. 假设有程序不断地输出日志到 /var/log/example.log

# ./test.sh > /var/log/example.log

2. 假设这个程序会运行一年,日志量可能到达5GB.

3. 程序在每次写入新日志的时候,“>”会不会先将 /var/log/example.log 的已有数据读入内存,再追加新的日子? 如果是这样,内存会被大量占用而影响系统性能。
继续阅读“通过">"重定向日志,每次写入日志时会不会先把已有日志读入内存,然后再追加?”

怎样把文件清零,使得vmware能回收存储空间?

正常情况下,在系统中删除一个文件,只会在文件系统层面把文件相应的 inode 信息删除,实际上数据仍存在于磁盘中。

在vmware环境中,vmware实际上可以回收磁盘未被使用的空间,把空间留给其他虚拟机使用。

所以,在删除文件的时候,可以将文件的数据清零,使vmware可以把空间回收。
继续阅读“怎样把文件清零,使得vmware能回收存储空间?”

BIND+GeoIP: 根据查询者IP的地理位置给出不同的DNS结果

为了能让访客访问到最快的服务器,可以在DNS上动手脚。有一些DNS服务商如dnspod可以根据DNS查询者的位置,给出相应的DNS解析结果。

自己搭建DNS服务器,也可以实现类似效果。在 BIND 9.10 中,提供了 GeoIP 的功能,利用 GeoIP 库查询访客IP所在区域,根据区域给出结果。参考:
https://kb.isc.org/article/AA-01149/0/Using-the-GeoIP-Features-in-BIND-9.10.html
继续阅读“BIND+GeoIP: 根据查询者IP的地理位置给出不同的DNS结果”