后台系统日志不更新处理方法
来自技术开发小组内部wiki
先把crontab 后台日志注释掉
1,cd /usr/local/coreseek/etc/csft.conf
改配置文件(fmb_admin_log 的all 源)的最小和最大ID(从数据库里找到合适的最小ID和最大ID),注释掉 sql_query_range = SELECT MIN(id),MAX(id) FROM fmb_admin_log 这行,修改$start 和$end为最小和最大值:
source fmb_admin_log_src_all : fmb_admin_log_src
{
sql_query_pre = set names UTF8
#sql_query_pre = REPLACE INTO fmb_sphinx_counter SELECT 'fmb_admin_log', MAX(id) FROM fmb_admin_log
sql_query_range = SELECT MIN(id),MAX(id) FROM fmb_admin_log
sql_range_step = 5000
sql_ranged_throttle = 1000
sql_query = SELECT id,admin_id,admin_name,UNIX_TIMESTAMP(log_time) AS log_time,log_text,log_identifier FROM fmb_admin_log WHERE id>=$start and id<=$end
sql_query_post_index = REPLACE INTO fmb_sphinx_counter ( source, max_id ) VALUES ( 'fmb_admin_log', $maxid )
sql_query_post_index = REPLACE INTO fmb_sphinx_counter ( source, max_id ) VALUES ( 'fmb_admin_log-last', $maxid );
##记录上次全量查询的数字
}
2,通知编辑暂停后台日志查询
3,cd /usr/local/coreseek/var/data 把日志索引文件删除:rm -rf /usr/local/coreseek/var/data/fmb_admin_log*
4,停服务 /usr/local/coreseek/bin/searchd --stop
5, 启动服务 /usr/local/coreseek/bin/searchd
6, 重新建索引 /usr/local/coreseek/bin/indexer fmb_admin_log_index_all --rotate
7,改文件名 :
cd /usr/local/coreseek/var/data
mv fmb_admin_log_index_all.spa fmb_admin_log_index.spa
mv fmb_admin_log_index_all.spd fmb_admin_log_index.spd
mv fmb_admin_log_index_all.sph fmb_admin_log_index.sph
mv fmb_admin_log_index_all.spi fmb_admin_log_index.spi
mv fmb_admin_log_index_all.spk fmb_admin_log_index.spk
mv fmb_admin_log_index_all.spl fmb_admin_log_index.spl
mv fmb_admin_log_index_all.spm fmb_admin_log_index.spm
mv fmb_admin_log_index_all.spp fmb_admin_log_index.spp
8,把配置文件(fmb_admin_log_index_all 的配置)改回来(最小值$start,最大值$end) 把这行 sql_query_range = SELECT MIN(id),MAX(id) FROM fmb_admin_log 注释打开了
9,停掉服务 /usr/local/coreseek/bin/searchd --stop,再重启服务 /usr/local/coreseek/bin/searchd
10,跑增量索引 /usr/local/coreseek/bin/indexer fmb_admin_log_index_delta --rotate
11,合并 /usr/local/coreseek/bin/indexer --merge fmb_admin_log_index fmb_admin_log_index_delta --rotate
12,crontab 后台日志索引打开