首页 文章 精选 留言 我的

精选列表

搜索[报表工具],共10011篇文章
优秀的个人博客,低调大师

分布式监控系统 WGCLOUD v2.3 发布,实时监控+报表优化

WGCLOUD是基于微服务架构的分布式监控平台,核心模块包括:服务器集群监控,ES集群监控,CPU监控,内存监控,数据监控,服务心跳检测。 1.采用服务端和客户端协同工作方式,更轻量,更高效,可支持数百台服务器在线监控。 2.server端负责接受数据,处理数据,生成图表展示。agent端负责定时上报指标数据。 3.支持主流服务器平台安装部署,如Linux, Windows, Solaris, AIX, HP-UX等。 4.WGCLOUD采用微服务springboot+bootstrap,完美实现了分布式监控系统,为反哺开源社区,二次开源。 码云地址:https://gitee.com/wanghouhou/wgcloud GITHUB:https://github.com/tianshiyeben/wgcloud 下载:http://www.wgstart.com WGCLOUD-v2.3更新说明,2020-02-02 1.新增,多数据源监控 2.新增,多进程监控,同时支持PID文件读取方式和进程ID号配置方式,此次改造后在server端页面维护进程配置,不需要再在agent配置文件里维护, agent会定时(5分钟)从server拉取监控进程列表。此次改造,解决了监控应用重启后进程ID变化,需重新配置进程ID的问题。 3.新增,server和agent通信添加密钥机制,以保证数据安全传输。 4.新增,监控主机下线管理机制,若主机超过10分钟未上报状态,判定下线,在主机列表标红提示,并记录日志。 5.新增,监控进程下线管理机制,若进程超过10分钟未上报状态,判定下线,在进程列表标红提示,并记录日志。 6.新增,支持在server端application.yml自定义内存和cpu告警值百分比。 7.优化,agent上报主机状态频率改为1分钟,监控扫描更密集,基本达到实时监控。 8.优化,所有历史数据最长保留15天,然后定时清空15天前历史数据,以保证数据库高效运转。 9.优化,cpu,内存使用率达到预警值后,开始发送邮件告警,每台主机告警邮件发送成功后,24小时内不再重复发送该主机告警邮件。 10.优化,服务接口响应状态码不是200时,开始发送邮件告警,发送成功后,24小时内不再重复发送该接口告警邮件。 11.优化,邮件告警机制,简单高效。 12.优化,google字体等外网文件本地化处理,本版本可达到彻底断网在内网环境正常运行,符合安全审计要求。 13.优化,监控主机CPU指标折线图Y轴刻度显示问题。 14.优化,监控主机系统负载指标折线图Y轴刻度显示问题。和11是一样问题,稍微吐槽下G2,不知道是bug还是本身设计成这样,调试了好久h6> 15.bug,修复数据表监控SQL条件错误问题。 16.bug,修复邮箱告警页面,发送邮箱SMTP服务器输入为smtp.qq.com,校验提示为空的问题。 17.bug,修复左侧菜单,网页加载未完成或慢时候,点击跳转404问题。

优秀的个人博客,低调大师

通过shell检查mysql主机和数据库,生成html报表的脚本

该脚本主要用于大致诊断MYSQL主机和数据库配置及性能收集,脚本部分功能展示如下: 实现该上述展示功能的shell脚本如下: file_output='os_mysql_summary.html' td_str='' th_str='' myuser="root" mypasswd="password" myip="192.168.11.101" myport="3307" mysql_cmd="mysql-u${myuser}-p${mypasswd}-h${myip}-P${myport}--protocol=tcp--silent" create_html_css(){ echo-e"<html> <head> <styletype="text/css"> body{font:12pxCourierNew,Helvetica,sansserif;color:black;background:White;} table,tr,td{font:12pxCourierNew,Helvetica,sansserif;color:Black;background:#FFFFCC;padding:0px0px0px0px;margin:0px0px0px0px;} th{font:bold12pxCourierNew,Helvetica,sansserif;color:White;background:#0033FF;padding:0px0px0px0px;} h1{font:bold12ptCourierNew,Helvetica,sansserif;color:Black;padding:0px0px0px0px;} </style> </head> <body>" } create_html_head(){ echo-e"<h1>$1</h1>" } create_table_head1(){ echo-e"<tablewidth="68%"border="1"bordercolor="#000000"cellspacing="0px"style="border-collapse:collapse">" } create_table_head2(){ echo-e"<tablewidth="100%"border="1"bordercolor="#000000"cellspacing="0px"style="border-collapse:collapse">" } create_td(){ td_str=`echo$1|awk'BEGIN{FS="|"}''{i=1;while(i<=NF){print"<td>"$i"</td>";i++}}'` } create_th(){ th_str=`echo$1|awk'BEGIN{FS="|"}''{i=1;while(i<=NF){print"<th>"$i"</th>";i++}}'` } create_tr1(){ create_td"$1" echo-e"<tr> $td_str </tr>">>$file_output } create_tr2(){ create_th"$1" echo-e"<tr> $th_str </tr>">>$file_output } create_tr3(){ echo-e"<tr><td> <prestyle=\"font-family:CourierNew;word-wrap:break-word;white-space:pre-wrap;white-space:-moz-pre-wrap\"> `cat$1` </pre></td></tr>">>$file_output } create_table_end(){ echo-e"</table>" } create_html_end(){ echo-e"</body></html>" } NAME_VAL_LEN=12 name_val(){ printf"%+*s|%s\n""${NAME_VAL_LEN}""$1""$2" } get_virtual(){ localfile="/var/log/dmesg" ifgrep-qi-e"vmware"-e"vmxnet"-e'paravirtualizedkernelonvmi'"${file}";then echo"VMWare"; elifgrep-qi-e'paravirtualizedkernelonxen'-e'Xenvirtualconsole'"${file}";then echo"Xen"; elifgrep-qi"qemu""${file}";then echo"QEmu"; elifgrep-qi'paravirtualizedkernelonKVM'"${file}";then echo"KVM"; elifgrep-q"VBOX""${file}";then echo"VirtualBox"; elifgrep-qi'hd.:Virtual..,ATA.*drive'"${file}";then echo"MicrosoftVirtualPC"; else echo"PhysicalMachine" fi } get_physics(){ name_val"Date""`date-u+'%F%TUTC'`(localTZ:`date+'%Z%z'`)" name_val"Hostname""`uname-n`" name_val"Uptime""`uptime`" name_val"System""`dmidecode-s"system-manufacturer""system-product-name""system-version""chassis-type"`" name_val"Service_num""`dmidecode-s"system-serial-number"`" name_val"Platform""`uname-s`" name_val"Release""`cat/etc/{oracle,redhat,SuSE,centos}-release2>/dev/null|sort-ru|head-n1`" name_val"Kernel""`uname-r`" name_val"Architecture""CPU=`lscpu|grepArchitecture|awk-F:'{print$2}'|sed's/^[[:space:]]*//g'`;OS=`getconfLONG_BIT`-bit" name_val"Threading""`getconfGNU_LIBPTHREAD_VERSION`" name_val"SELinux""`getenforce`" name_val"Virtualized""`get_virtual`" } get_cpuinfo(){ file="/proc/cpuinfo" virtual=`grep-c^processor"${file}"` physical=`grep'physicalid'"${file}"|sort-u|wc-l` cores=`grep'cpucores'"${file}"|head-n1|cut-d:-f2` model=`grep"modelname""${file}"|sort-u|awk-F:'{print$2}'` speed=`grep-i"cpuMHz""${file}"|sort-u|awk-F:'{print$2}'` cache=`grep-i"cachesize""${file}"|sort-u|awk-F:'{print$2}'` SysCPUIdle=`vmstat|sed-n'$p'|awk'{print$15}'` ["${physical}"="0"]&&physical="${virtual}" [-z"${cores}"]&&cores=0 cores=$((${cores}*${physical})); htt="" if[${cores}-gt0-a$cores-lt$virtual];thenhtt=yes;elsehtt=no;fi name_val"Processors""physical=${physical},cores=${cores},virtual=${virtual},hyperthreading=${htt}" name_val"Models""${physical}*${model}" name_val"Speeds""${virtual}*${speed}" name_val"Caches""${virtual}*${cache}" name_val"CPUIdle(%)""${SysCPUIdle}%" } get_meminfo(){ echo"Locator|Size|Speed|FormFactor|Type|TypeDetail">>/tmp/tmpmem3_h1_`date+%y%m%d`.txt dmidecode|grep-v"MemoryDeviceMappedAddress"|grep-A12-w"MemoryDevice"\ |egrep"Locator:|Size:|Speed:|FormFactor:|Type:|TypeDetail:"\ |awk-F:'/Size|Type|Form.Factor|Type.Detail|^[\t]+Locator/{printf("|%s",$2)}/^[\t]+Speed/{print"|"$2}'\ |grep-v"NoModuleInstalled"\ |awk-F"|"'{print$4,"|",$2,"|",$7,"|",$3,"|",$5,"|",$6}'>>/tmp/tmpmem3_t1_`date+%y%m%d`.txt free-glht>>/tmp/tmpmem2_`date+%y%m%d`.txt memtotal=`vmstat-s|head-1|awk'{print$1}'` avm=`vmstat-s|sed-n'3p'|awk'{print$1}'` name_val"Mem_used_rate(%)""`echo"100*${avm}/${memtotal}"|bc`%">>/tmp/tmpmem1_`date+%y%m%d`.txt } get_diskinfo(){ echo"Filesystem|Type|Size|Used|Avail|Use%|Mountedon|Opts">>/tmp/tmpdisk_h1_`date+%y%m%d`.txt df-ThP|grep-vtmpfs|sed'1d'|sort>/tmp/tmpdf1_`date+%y%m%d`.txt mount-l|awk'{print$1,$6}'|grep^/|sort>/tmp/tmpdf2_`date+%y%m%d`.txt join/tmp/tmpdf1_`date+%y%m%d`.txt/tmp/tmpdf2_`date+%y%m%d`.txt\ |awk'{print$1,"|",$2,"|",$3,"|",$4,"|",$5,"|",$6,"|",$7,"|",$8}'>>/tmp/tmpdisk_t1_`date+%y%m%d`.txt lsblk>>/tmp/tmpdisk1_`date+%y%m%d`.txt fordiskin`ls-l/sys/block|awk'{print$9}'|sed'/^$/d'|grep-vfd` do echo"${disk}"`cat/sys/block/${disk}/queue/scheduler`>>/tmp/tmpdisk2_`date+%y%m%d`.txt done pvs>>/tmp/tmpdisk3_`date+%y%m%d`.txt echo"================================================================">>/tmp/tmpdisk3_`date+%y%m%d`.txt vgs>>/tmp/tmpdisk3_`date+%y%m%d`.txt echo"================================================================">>/tmp/tmpdisk3_`date+%y%m%d`.txt lvs>>/tmp/tmpdisk3_`date+%y%m%d`.txt } get_netinfo(){ echo"interface|status|ipadds|mtu|Speed|Duplex">>/tmp/tmpnet_h1_`date+%y%m%d`.txt foripstrin`ifconfig-a|grep":flags"|awk'{print$1}'|sed's/.$//'` do ipadds=`ifconfig${ipstr}|grep-winet|awk'{print$2}'` mtu=`ifconfig${ipstr}|grepmtu|awk'{print$NF}'` speed=`ethtool${ipstr}|grepSpeed|awk-F:'{print$2}'` duplex=`ethtool${ipstr}|grepDuplex|awk-F:'{print$2}'` echo"${ipstr}""up""${ipadds}""${mtu}""${speed}""${duplex}"\ |awk'{print$1,"|",$2,"|",$3,"|",$4,"|",$5,"|",$6}'>>/tmp/tmpnet1_`date+%y%m%d`.txt done } get_topproc(){ #osload echo"osload1">>/tmp/tmpload_`date+%y%m%d`.txt sar-q15>>/tmp/tmpload_`date+%y%m%d`.txt echo"osload2">>/tmp/tmpload_`date+%y%m%d`.txt sar-b15>>/tmp/tmpload_`date+%y%m%d`.txt echo"osload3">>/tmp/tmpload_`date+%y%m%d`.txt vmstat15>>/tmp/tmpload_`date+%y%m%d`.txt #topcpu mpstat15>>/tmp/tmptopcpu_`date+%y%m%d`.txt echo"TOP10CPUResourceProcess">>/tmp/tmptopcpu_`date+%y%m%d`.txt psaux|head-1>>/tmp/tmptopcpu_`date+%y%m%d`.txt psaux|grep-vPID|sort-rn-k+3|head>>/tmp/tmptopcpu_`date+%y%m%d`.txt #top-bn1-o"%CPU"|sed-n'/PID/,17p' #topmem echo"TOP10MEMResourceProcess">>/tmp/tmptopmem_`date+%y%m%d`.txt psaux|head-1>>/tmp/tmptopmem_`date+%y%m%d`.txt psaux|grep-vPID|sort-rn-k+4|head>>/tmp/tmptopmem_`date+%y%m%d`.txt #top-bn1-o"%MEM"|sed-n'/PID/,17p' #topi/o iostat-cdmx23>>/tmp/tmptopio_`date+%y%m%d`.txt #iotop-botq-n3-d2 } my_base_info(){ ${mysql_cmd}-e"selectnow(),current_user(),version()\G" ${mysql_cmd}-e"showglobalvariableslike'autocommit';"|grep-i^auto|awk'{print$1,":",$2}' ${mysql_cmd}-e"showglobalvariables"|egrep-w"port|character_set_server|datadir|log_error|log_bin_basename|tx_isolation|binlog_format"|awk'{print$1,":",$2}' } my_stat_info(){ ${mysql_cmd}-estatus>>/tmp/tmpmy_stat_`date+%y%m%d`.txt } my_connip_info(){ echo"ipadds|conn_status|count">>/tmp/tmpmy_connip_h1_`date+%y%m%d`.txt netstat-an|grep${myport}|grep-viLISTEN|awk'{print$5,$6}'|sed's/::ffff://g'|sed's/:[0-9]*//g'|sed'1d'|sort|uniq-c|awk'{print$2,"|",$3,"|",$1}'>>/tmp/tmpmy_connip_t1_`date+%y%m%d`.txt } my_param_info(){ echo"Variable_name|Value">>/tmp/tmpmy_param_h1_`date+%y%m%d`.txt ${mysql_cmd}-e"showglobalvariables"|egrep-w"innodb_buffer_pool_size|innodb_file_per_table|innodb_flush_log_at_trx_commit|innodb_io_capacity|\ innodb_lock_wait_timeout|innodb_data_home_dir|innodb_log_file_size|innodb_log_files_in_group|log_slave_updates|long_query_time|lower_case_table_names|\ max_connections|max_connect_errors|max_user_connections|query_cache_size|query_cache_type|server_id|slow_query_log|slow_query_log_file|innodb_temp_data_file_path|\ sql_mode|gtid_mode|enforce_gtid_consistency|expire_logs_days|sync_binlog|open_files_limit|myisam_sort_buffer_size|myisam_max_sort_file_size"\ |awk'{print$1,"|",$2}'>>/tmp/tmpmy_param_t1_`date+%y%m%d`.txt } my_segm1_info(){ ${mysql_cmd}-H-e"selectTABLE_SCHEMA,concat(truncate(sum(data_length)/1024/1024/1024,2),'GB')asdata_size,\ concat(truncate(sum(index_length)/1024/1024/1024,2),'GB')asindex_size\ frominformation_schema.tablesgroupbyTABLE_SCHEMAorderbydata_lengthdesc;" } my_segm2_info(){ ${mysql_cmd}-H-e"selecttable_schema,table_name,table_rows,concat(truncate(data_length/1024/1024/1024,2),'GB')asdata_size,\ concat(truncate(index_length/1024/1024/1024,2),'GB')asindex_sizefrominformation_schema.tablesorderbydata_lengthdesclimit10;" } my_segm3_info(){ ${mysql_cmd}-H-e"selecttable_name,table_rows,concat(round(data_length/1024/1024,2),'MB')assize,data_free\ frominformation_schema.tableswheredata_free>0orderbydata_lengthdesc;" } my_obj1_info(){ ${mysql_cmd}-H-e"selecttable_schemaasdb,table_typeasobject_type,count(*)ascntfrominformation_schema.tablesgroupbytable_schema,table_typeunionall\ selectroutine_schemaasdb,routine_typeasobject_type,count(*)ascntfrominformation_schema.routinesgroupbyroutine_schema,routine_type;" } my_obj2_info(){ ${mysql_cmd}-H-e"selecttable_schema,engine,count(*)ascntfrominformation_schema.tablesgroupbytable_schema,engine;" } my_obj3_info(){ ${mysql_cmd}-H-e"selecttable_schema,table_namefrominformation_schema.tableswheretable_schemanotin('mysql','information_schema','performance_schema','sys')andtable_namenotin(\ selecttable_namefrominformation_schema.table_constraintstjoininformation_schema.key_column_usagekusing(\ constraint_name,table_schema,table_name)wheret.constraint_type='PRIMARYKEY'andtable_schemanotin('mysql','information_schema','performance_schema','sys'));" } my_lock_info(){ ${mysql_cmd}-H-e"SELECTr.trx_idwaiting_trx_id,r.trx_mysql_thread_idwaiting_thread,r.trx_querywaiting_query,\ b.trx_idblocking_trx_id,b.trx_mysql_thread_idblocking_thread,b.trx_queryblocking_query,\ bl.lock_idblocking_lock_id,bl.lock_modeblocking_lock_mode,bl.lock_typeblocking_lock_type,\ bl.lock_tableblocking_lock_table,bl.lock_indexblocking_lock_index,\ rl.lock_idwaiting_lock_id,rl.lock_modewaiting_lock_mode,rl.lock_typewaiting_lock_type,\ rl.lock_tablewaiting_lock_table,rl.lock_indexwaiting_lock_index\ FROMinformation_schema.INNODB_LOCK_WAITSw\ INNERJOINinformation_schema.INNODB_TRXbONb.trx_id=w.blocking_trx_id\ INNERJOINinformation_schema.INNODB_TRXrONr.trx_id=w.requesting_trx_id\ INNERJOINinformation_schema.INNODB_LOCKSblONbl.lock_id=w.blocking_lock_id\ INNERJOINinformation_schema.INNODB_LOCKSrlONrl.lock_id=w.requested_lock_id\G" } my_innodb_info(){ ${mysql_cmd}-e"showengineinnodbstatus\G" } my_user_info(){ ${mysql_cmd}-e"SELECTDISTINCTCONCAT('showgrantsfor''',user,'''@''',host,''';')ASqueryFROMmysql.user;">>/tmp/tmpmy_user_t_`date+%y%m%d`.txt whilereadline do echo"=================================================================">>/tmp/tmpmy_user_`date+%y%m%d`.txt echo"$line">>/tmp/tmpmy_user_`date+%y%m%d`.txt ${mysql_cmd}-e"$line">>/tmp/tmpmy_user_`date+%y%m%d`.txt done</tmp/tmpmy_user_t_`date+%y%m%d`.txt } create_html(){ rm-rf$file_output touch$file_output create_html_css>>$file_output create_html_head"OSBasicSummary">>$file_output create_table_head1>>$file_output get_physics>>/tmp/tmpos_summ_`date+%y%m%d`.txt whilereadline do create_tr1"$line" done</tmp/tmpos_summ_`date+%y%m%d`.txt create_table_end>>$file_output create_html_head"CPUInfoSummary">>$file_output create_table_head1>>$file_output get_cpuinfo>>/tmp/tmp_cpuinfo_`date+%y%m%d`.txt whilereadline do create_tr1"$line" done</tmp/tmp_cpuinfo_`date+%y%m%d`.txt create_table_end>>$file_output create_html_head"MEMInfoSummary">>$file_output create_table_head1>>$file_output get_meminfo whilereadline do create_tr1"$line" done</tmp/tmpmem1_`date+%y%m%d`.txt create_table_end>>$file_output create_table_head1>>$file_output create_tr3"/tmp/tmpmem2_`date+%y%m%d`.txt" create_table_end>>$file_output create_table_head1>>$file_output whilereadline do create_tr2"$line" done</tmp/tmpmem3_h1_`date+%y%m%d`.txt whilereadline do create_tr1"$line" done</tmp/tmpmem3_t1_`date+%y%m%d`.txt create_table_end>>$file_output create_html_head"DiskInfoSummary">>$file_output create_table_head1>>$file_output get_diskinfo whilereadline do create_tr2"$line" done</tmp/tmpdisk_h1_`date+%y%m%d`.txt whilereadline do create_tr1"$line" done</tmp/tmpdisk_t1_`date+%y%m%d`.txt create_table_end>>$file_output create_table_head1>>$file_output create_tr3"/tmp/tmpdisk1_`date+%y%m%d`.txt" create_table_end>>$file_output create_table_head1>>$file_output create_tr3"/tmp/tmpdisk2_`date+%y%m%d`.txt" create_table_end>>$file_output create_table_head1>>$file_output create_tr3"/tmp/tmpdisk3_`date+%y%m%d`.txt" create_table_end>>$file_output create_html_head"NetworkInfoSummary">>$file_output create_table_head1>>$file_output get_netinfo whilereadline do create_tr2"$line" done</tmp/tmpnet_h1_`date+%y%m%d`.txt whilereadline do create_tr1"$line" done</tmp/tmpnet1_`date+%y%m%d`.txt create_table_end>>$file_output create_html_head"OSLoadSummary">>$file_output create_table_head1>>$file_output get_topproc create_tr3"/tmp/tmpload_`date+%y%m%d`.txt" create_table_end>>$file_output create_html_head"TOPCPUSummary">>$file_output create_table_head1>>$file_output create_tr3"/tmp/tmptopcpu_`date+%y%m%d`.txt" create_table_end>>$file_output create_html_head"TOPMEMSummary">>$file_output create_table_head1>>$file_output create_tr3"/tmp/tmptopmem_`date+%y%m%d`.txt" create_table_end>>$file_output create_html_head"TOPIOSummary">>$file_output create_table_head1>>$file_output create_tr3"/tmp/tmptopio_`date+%y%m%d`.txt" create_table_end>>$file_output create_html_head"BasicDatabaseInformation">>$file_output create_table_head1>>$file_output my_base_info>>/tmp/tmpmy_base_`date+%y%m%d`.txt sed-i-e'1d'-e's/:/|/g'/tmp/tmpmy_base_`date+%y%m%d`.txt whilereadline do create_tr1"$line" done</tmp/tmpmy_base_`date+%y%m%d`.txt create_table_end>>$file_output create_html_head"RunningStatusofDatabase">>$file_output create_table_head1>>$file_output my_stat_info create_tr3"/tmp/tmpmy_stat_`date+%y%m%d`.txt" create_table_end>>$file_output create_html_head"IPConnectionStatistics">>$file_output create_table_head1>>$file_output my_connip_info whilereadline do create_tr2"$line" done</tmp/tmpmy_connip_h1_`date+%y%m%d`.txt whilereadline do create_tr1"$line" done</tmp/tmpmy_connip_t1_`date+%y%m%d`.txt create_table_end>>$file_output create_html_head"ImportantParameters">>$file_output create_table_head1>>$file_output my_param_info whilereadline do create_tr2"$line" done</tmp/tmpmy_param_h1_`date+%y%m%d`.txt whilereadline do create_tr1"$line" done</tmp/tmpmy_param_t1_`date+%y%m%d`.txt create_table_end>>$file_output create_html_head"Sizeofeachdatabase">>$file_output my_segm1_info>>$file_output create_html_head"TOP10SpaceTable">>$file_output my_segm2_info>>$file_output create_html_head"HighWaterLevelMeter">>$file_output my_segm3_info>>$file_output create_html_head"Objecttypestatistics">>$file_output my_obj1_info>>$file_output create_html_head"StorageEngineNumberStatistics">>$file_output my_obj2_info>>$file_output create_html_head"Tableswithoutprimarykeys">>$file_output my_obj3_info>>$file_output create_html_head"Lockinformation">>$file_output my_lock_info>>$file_output create_html_head"InnodbStatusInformation">>$file_output create_table_head1>>$file_output my_innodb_info>>/tmp/tmpmy_innodb_`date+%y%m%d`.txt create_tr3"/tmp/tmpmy_innodb_`date+%y%m%d`.txt" create_table_end>>$file_output create_html_head"UserAuthorizationInformation">>$file_output create_table_head1>>$file_output my_user_info create_tr3"/tmp/tmpmy_user_`date+%y%m%d`.txt" create_table_end>>$file_output create_html_head"SlowSQLstatistics">>$file_output create_html_end>>$file_output sed-i's/BORDER=1/width="68%"border="1"bordercolor="#000000"cellspacing="0px"style="border-collapse:collapse"/g'$file_output rm-rf/tmp/tmp*_`date+%y%m%d`.txt } #Thisscriptmustbeexecutedasroot RUID=`id|awk-F\('{print$1}'|awk-F\='{print$2}'` ##OR#RUID=`id|cut-d\(-f1|cut-d\=-f2`#OR#ROOT_UID=0 if[${RUID}!="0"];then echo"Thisscriptmustbeexecutedasroot" exit1 fi PLATFORM=`uname` if[${PLATFORM}="HP-UX"];then echo"ThisscriptdoesnotsupportHP-UXplatformforthetimebeing" exit1 elif[${PLATFORM}="SunOS"];then echo"ThisscriptdoesnotsupportSunOSplatformforthetimebeing" exit1 elif[${PLATFORM}="AIX"];then echo"ThisscriptdoesnotsupportAIXplatformforthetimebeing" exit1 elif[${PLATFORM}="Linux"];then echo-e" ########################################################################################### ## #Makesurethatthefollowingparametersatthebeginningofthescriptarecorrect.# #myuser="root"(DatabaseAccount)# #mypasswd="password"(Databasepassword)# #myip="192.168.11.101"(DatabasenativeIP)# #myport="3307"(Databaseport)# #Otherwise,thescriptcannotbeexecutedproperly.# ## ########################################################################################### " #read-p"Thedatabaseconnectioninformationisconfiguredcorrectly.Pleaseexecute[yesory]:"SELECT #printf'\n' #if[$SELECT=="yes"-o$SELECT=="y"];then create_html #else #exit1 #fi fi

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册