网站原创性,工程建设与设计期刊,asp网站建设代码,h5商城升级前后环境
升级前: CactiEZ 中文版 V10 升级后: Ubuntu 2204 Cacti 1.2.7 升级原因:风险漏洞太多,升不尽,补不完.
升级流程 Created with Raphal 2.3.0 开始 DST:安装Ububtu/Mariadb/apache/php SRC:备份 DB/RRA 数据导入 结束 Cacti 依赖包
注意:UBUNTU下有些包,它非另外…升级前后环境
升级前: CactiEZ 中文版 V10 升级后: Ubuntu 2204 Cacti 1.2.7 升级原因:风险漏洞太多,升不尽,补不完.
升级流程 Created with Raphaël 2.3.0 开始 DST:安装Ububtu/Mariadb/apache/php SRC:备份 DB/RRA 数据导入 结束 Cacti 依赖包
注意:UBUNTU下有些包,它非另外取个名,真TMD有病 NET-SNMP -- snmp php-dblib -- php-sybase PHP/NET-SNMP/RRDtool,然后DB和Web Server
升级过程中遇到的问题及处理方法
DB相关问题
原DB默认字符集为latin1的处理方式
在字符集为latin之类,内容包含中文时,直接使用mysqldump导出就会乱码.
mysqldump --default-character-set latin1 --databases xxx --tables xx xx xx bak.sql
sed -i s/latin1/utf8/g bak.sql注意: mysqldump命令设置default-character-set时,可能会对database级的导出不生效,所以具体到表.
源/目的地安装路径不一致,需要在DB中手动更改,不然启动不了.
mysql
use cacti
select * from settings where value like var/www/html%;
update settings set valuesdfsd where nameadfsdf注意:不要手动更改version中的值,这个它自己升级database要用的.
SYSLOG相关的三个表先别导入,这个插件放后面搞,不然有问题
新旧SRV 的RRDTool版本不一样,旧图形不可直接使用.
旧的导出为xml到新的这边再恢复为rrd
find /var/www/html/rra -name *.rrd -exec /usr/local/rrdtool/bin/rrdtool dump {} {}.xml \;
tar -zcvf rra.tar.gz /var/www/html/rrascp userhost:/path/rra.tar.gz .
tar -zxvf rra.tar.gz
find . -name *.xml -exec rrdtool restore {} {}.rrd \;
find . -name *.rrd.xml.rrd |sed -ep;s/.rrd.xml.rrd/.rrd/ |xargs -n2 mv
find . -name *.xml -exec rm -f () \;升级过程中断失败
2024-09-03 09:02:22 - INSTALL: always: 从v1.0.0数据库1.0.0升级到v1.0.4
2024-09-03 09:02:22 - INSTALL: always: 从v1.0.4数据库1.0.4升级到v1.0.5
2024-09-03 09:02:23 - CMDPHP ERROR: A DB Exec Failed!, Error: Array to string conversion
2024-09-03 09:02:23 - CMDPHP SQL Backtrace: (/install/background.php[70]:Installer::beginInstall(), /lib/installer.php[3530]:Installer-install(), /lib/installer.php[3025]:Installer-upgradeDatabase(), /lib/installer.php[3423]:upgrade_to_1_0_5(), /install/upgrades/1_0_5.php[36]:db_install_execute(), /install/functions.php[160]:db_execute_prepared())
2024-09-03 09:02:23 - INSTALL: always: 已完成UPGRADE针对v1.2.27的进程
2024-09-03 09:02:23 - INSTALL: always: WARNING: One or more upgrades failed to install correctly这个比较操蛋,找了一路,结果是1_0_5.php 36行这里传的参数在后面需要的是个string,但这里给了一个array. array( p r o f i l e i d ) ) ; − − a r r a y ( profile_id)); -- array( profileid));−−array(profile_id[‘data’])); $profile_id db_install_fetch_cell(SELECT id FROM data_source_profiles ORDER BY default DESC LIMIT 1);if ($profile_id 0) {db_install_execute(UPDATE data_template_dataSET data_source_profile_id ?WHERE data_source_profile_id 0,array($profile_id));}syslog 插件问题
升级过来后到syslog页面可能会卡死,提示什么升级得重安装什么的. 在README里看到这么一句:
If you are upgrading to 2.0 from a prior install, you must first uninstall
syslog and insure both the syslog, syslog_removal, and syslog_incoming tables
are removed, and recreated at install time.正确步骤: 停服务- 移插件 -删表 --cacti中uninstall --移回来 --cacti中install
systemctl stop apach2mv plugins/syslog new/mysql -D cactidrop table syslog;drop table syslog_removal;drop table syslog_incoming;php path/cli/plugin_manage.php --pluginsyslog --uninstallmv new/syslog plugins/php path/cli/plugin_manage.php --pluginsyslog --install --enable --allpermssystemctl start apach2
有问题时cacti在plugins页面时,后台程序可能报错死循环,到卡死.所以页面上uninstall不了.
中文界面上FORM提交后页面异常
现象:原本AJEX异步的页面,返回了无样式的页面 原因:中文翻译的字符串中的单引号会导致JS错误,使用AJEX部分不执行,变成常规的FORM提交.
vim locales/po/zh-CN.po
#: lib/html_form.php:1403
msgid You have unsaved changes on this form. If you press #39;Continue#39; these changes will be discarded. Press #39;Cancel#39; to continue editing the form.
msgstr 您在此表单上有未保存的更改.如果按[继续],这些更改将被丢弃.按[取消]继续编辑表单.这里的继续和取消两边原来是单引号,这个字符串会被写到js中,然后就坏了,改为括号.然后执行build_mo.sh
./build_mo.sh更改认证方法后进不去了…
mysql -D cacti
update settings set value1 where name like auth_method;
update user_auth set enabledon where usernameadmin;这破东西可折腾人…