使用cronolog让apache的日志超2G限制...


CHOST="i686-pc-linux-gnu" \
CFLAGS="-march=i686 -O3 -pipe -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" \
CXX=gcc CXXFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" \
./configure --prefix=/usr/local/cronolog-1.6.2

因为日志是通过cronolog来处理所以只要重新编译cronolog就可以了

关键是这一行代码…-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE

他会让你编译后的程序调用系统支持的64bit的操作..就不会有2G文件的限制了…

测试通过系统:

redhat ad 2.1 ,apache2.0, cronolog-1.6.2

分别用cronolog和不用cronolog来测试..用加特殊代码编译的cronolog可以支持2G以上日志的生成…不用cronolog只能生成2G的日志…

btw:其他应用程序如果需要支持大过2G的写操作也要调用这个参数…