mkdir /usr/local/sphinx/scripts
----0.全部主索引新建
#!/bin/bash
#ocpyang@126.com
#main_index_update.sh
/usr/local/sphinx/bin/indexer src2 -c /usr/local/sphinx/etc/sphinx.conf --rotate > /dev/null 2>&1
/usr/local/sphinx/bin/indexer src3 -c /usr/local/sphinx/etc/sphinx.conf --rotate > /dev/null 2>&1
/usr/local/sphinx/bin/indexer src4 -c /usr/local/sphinx/etc/sphinx.conf --rotate > /dev/null 2>&1
/usr/local/sphinx/bin/indexer src5 -c /usr/local/sphinx/etc/sphinx.conf --rotate > /dev/null 2>&1
----1.增量索引
#!/bin/bash
#ocpyang@126.com
#delta_index_update.sh
/usr/local/sphinx/bin/indexer src2_delta -c /usr/local/sphinx/etc/sphinx.conf --rotate > /dev/null 2>&1
/usr/local/sphinx/bin/indexer src3_delta -c /usr/local/sphinx/etc/sphinx.conf --rotate > /dev/null 2>&1
/usr/local/sphinx/bin/indexer src4_delta -c /usr/local/sphinx/etc/sphinx.conf --rotate > /dev/null 2>&1
/usr/local/sphinx/bin/indexer src5_delta -c /usr/local/sphinx/etc/sphinx.conf --rotate > /dev/null 2>&1
---2.合并索引
#!/bin/bash
#ocpyang@126.com
#merge_daily_index.sh
# merge "main + delta" indexes
##1. index abount tblpnr
/usr/local/sphinx/bin/indexer --merge src2 src2_delta -c /usr/local/sphinx/etc/sphinx.conf --rotate >> /usr/local/sphinx/var/log/index_merge.log 2>&1
if [ "$?" -eq 0 ]; then
/usr/local/mysql/bin/mysql -h127.0.0.1 -uroot -ppassword -e "REPLACE INTO jinri.sph_counter SELECT 2, MAX(id),max(update_time) FROM jinripnr.tblpnr"
fi
##2. index abount tblticketno
/usr/local/sphinx/bin/indexer --merge src3 src3_delta -c /usr/local/sphinx/etc/sphinx.conf --rotate >> /usr/local/sphinx/var/log/index_merge.log 2>&1
if [ "$?" -eq 0 ]; then
/usr/local/mysql/bin/mysql -h127.0.0.1 -uroot -ppassword -e "REPLACE INTO jinri.sph_counter SELECT 3, MAX(id),max(update_time) FROM jinritickno.tblticketno"
fi
##3. index abount tblpassengername
/usr/local/sphinx/bin/indexer --merge src4 src4_delta -c /usr/local/sphinx/etc/sphinx.conf --rotate >> /usr/local/sphinx/var/log/index_merge.log 2>&1
if [ "$?" -eq 0 ]; then
/usr/local/mysql/bin/mysql -h127.0.0.1 -uroot -ppassword -e "REPLACE INTO jinri.sph_counter SELECT 4, MAX(id),max(update_time) FROM jinripname.tblpassengername"
fi
##4. index abount tblorderno
/usr/local/sphinx/bin/indexer --merge src5 src5_delta -c /usr/local/sphinx/etc/sphinx.conf --rotate >> /usr/local/sphinx/var/log/index_merge.log 2>&1
if [ "$?" -eq 0 ]; then
/usr/local/mysql/bin/mysql -h127.0.0.1 -uroot -ppassword -e "REPLACE INTO jinri.sph_counter SELECT 5, MAX(id),max(update_time) FROM jinriorderno.tblorderno"
fi
####再次新建增量索引
#delta_index_update.sh
/usr/local/sphinx/bin/indexer src2_delta -c /usr/local/sphinx/etc/sphinx.conf --rotate > /dev/null 2>&1
/usr/local/sphinx/bin/indexer src3_delta -c /usr/local/sphinx/etc/sphinx.conf --rotate > /dev/null 2>&1
/usr/local/sphinx/bin/indexer src4_delta -c /usr/local/sphinx/etc/sphinx.conf --rotate > /dev/null 2>&1
/usr/local/sphinx/bin/indexer src5_delta -c /usr/local/sphinx/etc/sphinx.conf --rotate > /dev/null 2>&1
# crontab -l
# crontab -e
*/5 * * * * /usr/local/mysql/scripts/delta_index_update.sh
0 2 * * * /usr/local/mysql/scripts/merge_daily_index.sh
---合并语法
/usr/local/sphinx/bin/indexer --merge src3 src3_delta -c /usr/local/sphinx/etc/sphinx.conf \
--rotate --merge-dst-range deleted 0 0 --merge-killlists
--查看job执行日志
tail -f /var/log/cron
【实战】sphinx索引合并的脚本
最新推荐文章于 2021-07-01 17:53:39 发布