#!/bin/sh
ipaddress=`ip a|grep "global"|awk '{print $2}' |awk -F/ '{print $1}'`
file_output='os_linux_summary.html'
td_str=''
th_str=''
#yum -y install bc sysstat net-tools
create_html_css(){
echo -e "
"
}
create_html_head(){
echo -e "$1 "
}
create_table_head1(){
echo -e ""
}
create_table_head2(){
echo -e ""
}
create_td(){
td_str=`echo $1 | awk 'BEGIN{FS="|"}''{i=1; while(i<=NF) {print ""$i" ";i++}}'`
}
create_th(){
th_str=`echo $1|awk 'BEGIN{FS="|"}''{i=1; while(i<=NF) {print ""$i" ";i++}}'`
}
create_tr1(){
create_td "$1"
echo -e "
$td_str
" >> $file_output
}
create_tr2(){
create_th "$1"
echo -e "
$th_str
" >> $file_output
}
create_tr3(){
echo -e "
`cat $1`
" >> $file_output
}
create_table_end(){
echo -e "
"
}
create_html_end(){
echo -e ""
}
NAME_VAL_LEN=12
name_val () {
printf "%+*s | %s\n" "${NAME_VAL_LEN}" "$1" "$2"
}
get_physics(){
name_val "巡检时间" "`date`"
name_val "主机名" "`uname -n`"
name_val "系统版本" "`cat /etc/{oracle,redhat,SuSE,centos}-release 2>/dev/null|sort -ru|head -n1`"
name_val "内核版本" "`uname -r`"
name_val "架构" "CPU=`lscpu|grep Architecture|awk -F: '{print $2}'|sed 's/^[[:space:]]*//g'`;OS=`getconf LONG_BIT`-bit"
}
get_cpuinfo () {
file="/proc/cpuinfo"
virtual=`grep -c ^processor "${file}"`
physical=`grep 'physical id' "${file}" | sort -u | wc -l`
cores=`grep 'cpu cores' "${file}" | head -n 1 | cut -d: -f2`
model=`grep "model name" "${file}"|sort -u|awk -F: '{print $2}'`
speed=`grep -i "cpu MHz" "${file}"|sort -u|awk -F: '{print $2}'`
cache=`grep -i "cache size" "${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} -gt 0 -a $cores -lt $virtual ]; then htt=yes; else htt=no; fi
name_val "线程" "physical = ${physical}, cores = ${cores}, virtual = ${virtual}, hyperthreading = ${htt}"
name_val "cpu型号" "${physical}*${model}"
name_val "速度" "${virtual}*${speed}"
name_val "缓存" "${virtual}*${cache}"
name_val "CPU空闲率(%)" "${SysCPUIdle}%"
}
get_netinfo(){
echo "interface | status | ipadds | mtu | Speed | Duplex" >>/tmp/tmpnet_h1_`date +%y%m%d`.txt
for ipstr in `ifconfig -a|grep ": flags"|awk '{print $1}'|sed 's/.$//'`
do
ipadds=`ifconfig ${ipstr}|grep -w inet|awk '{print $2}'`
mtu=`ifconfig ${ipstr}|grep mtu|awk '{print $NF}'`
speed=`ethtool ${ipstr}|grep Speed|awk -F: '{print $2}'`
duplex=`ethtool ${ipstr}|grep Duplex|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_cpuuse(){
echo "####################################### cpu使用率 #######################################" >>/tmp/tmp_cpuuse_`date +%y%m%d`.txt
mpstat -P ALL 10 6 >>/tmp/tmp_cpuuse_`date +%y%m%d`.txt
}
get_connections (){
filemax=`cat /proc/sys/fs/file-max`
name_val "Number of concurrent connections" "${filemax}"
}
get_ulimitinfo(){
echo "####################################### 系统限制最大进程数 #######################################" >>/tmp/tmp_ulimitinfo_`date +%y%m%d`.txt
ulimit -a >>/tmp/tmp_ulimitinfo_`date +%y%m%d`.txt
}
get_meminfo(){
echo "Locator |Size |Speed |Form Factor | Type | Type Detail" >>/tmp/tmpmem3_h1_`date +%y%m%d`.txt
dmidecode| grep -v "Memory Device Mapped Address"|grep -A12 -w "Memory Device" \
|egrep "Locator:|Size:|Speed:|Form Factor:|Type:|Type Detail:" \
|awk -F: '/Size|Type|Form.Factor|Type.Detail|^[\t ]+Locator/{printf("|%s", $2)}/^[\t ]+Speed/{print "|" $2}' \
|grep -v "No Module Installed" \
|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% | Mounted on | Opts" >>/tmp/tmpdisk_h1_`date +%y%m%d`.txt
df -ThP|grep -v tmpfs|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
for disk in `ls -l /sys/block|awk '{print $9}'|sed '/^$/d'|grep -v fd`
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_topproc(){
#os load
echo "####################################### 网络流量情况 #######################################" >>/tmp/tmpload_`date +%y%m%d`.txt
sar -n DEV 10 6 >>/tmp/tmpload_`date +%y%m%d`.txt
echo "####################################### 系统资源变化 #######################################" >>/tmp/tmpload_`date +%y%m%d`.txt
vmstat -S M 10 6 >>/tmp/tmpload_`date +%y%m%d`.txt
#top cpu
mpstat 1 5 >>/tmp/tmptopcpu_`date +%y%m%d`.txt
echo "####################################### 消耗CPU前十排行 #######################################" >>/tmp/tmptopcpu_`date +%y%m%d`.txt
ps aux|head -1 >>/tmp/tmptopcpu_`date +%y%m%d`.txt
ps aux|grep -v PID|sort -rn -k +3|head >>/tmp/tmptopcpu_`date +%y%m%d`.txt
#top mem
echo "####################################### 消耗内存前十排行 #######################################" >>/tmp/tmptopmem_`date +%y%m%d`.txt
ps aux|head -1 >>/tmp/tmptopmem_`date +%y%m%d`.txt
ps aux|grep -v PID|sort -rn -k +4|head >>/tmp/tmptopmem_`date +%y%m%d`.txt
echo "TOP10 CPU Resource Process" >>/tmp/tmptopmem_`date +%y%m%d`.txt
top -bn1 -o "%CPU"|sed -n '1,17p'
#top i/o
echo "####################################### 磁盘io情况 #######################################" >>/tmp/tmptopio_`date +%y%m%d`.txt
iostat -k -d 10 5 >>/tmp/tmptopio_`date +%y%m%d`.txt
}
get_crontablist(){
crontab -l >>/tmp/tmp_crontab_`date +%y%m%d`.txt
if [ -s /tmp/tmp_crontab_`date +%y%m%d`.txt ] ; then
echo 'ths file is not empyt and file info'
else
echo '#### 无定时任务 ####' >>/tmp/tmp_crontab_`date +%y%m%d`.txt
fi
}
create_html(){
rm -rf $file_output
touch $file_output
create_html_css >> $file_output
create_html_head "系统基本信息" >> $file_output
create_table_head1 >> $file_output
get_physics >>/tmp/tmpos_summ_`date +%y%m%d`.txt
while read line
do
create_tr1 "$line"
done < /tmp/tmpos_summ_`date +%y%m%d`.txt
create_table_end >> $file_output
create_html_head "cpu信息" >> $file_output
create_table_head1 >> $file_output
get_cpuinfo >>/tmp/tmp_cpuinfo_`date +%y%m%d`.txt
while read line
do
create_tr1 "$line"
done < /tmp/tmp_cpuinfo_`date +%y%m%d`.txt
create_table_end >> $file_output
create_html_head "ip网络信息" >> $file_output
create_table_head1 >> $file_output
get_netinfo
while read line
do
create_tr2 "$line"
done < /tmp/tmpnet_h1_`date +%y%m%d`.txt
while read line
do
create_tr1 "$line"
done < /tmp/tmpnet1_`date +%y%m%d`.txt
create_table_end >> $file_output
create_html_head "cpu使用率" >> $file_output
create_table_head1 >> $file_output
get_cpuuse
create_tr3 "/tmp/tmp_cpuuse_`date +%y%m%d`.txt"
create_table_end >> $file_output
create_html_head "连接数信息" >> $file_output
create_table_head1 >> $file_output
get_connections >>/tmp/tmp_connections_`date +%y%m%d`.txt
while read line
do
create_tr1 "$line"
done < /tmp/tmp_connections_`date +%y%m%d`.txt
create_table_end >> $file_output
create_html_head "系统限制信息" >> $file_output
create_table_head1 >> $file_output
get_ulimitinfo
create_tr3 "/tmp/tmp_ulimitinfo_`date +%y%m%d`.txt"
create_table_end >> $file_output
create_html_head "内存使用信息" >> $file_output
create_table_head1 >> $file_output
get_meminfo
while read line
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
while read line
do
create_tr2 "$line"
done < /tmp/tmpmem3_h1_`date +%y%m%d`.txt
while read line
do
create_tr1 "$line"
done < /tmp/tmpmem3_t1_`date +%y%m%d`.txt
create_table_end >> $file_output
create_html_head "磁盘使用信息" >> $file_output
create_table_head1 >> $file_output
get_diskinfo
while read line
do
create_tr2 "$line"
done < /tmp/tmpdisk_h1_`date +%y%m%d`.txt
while read line
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 "网络流量情况" >> $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 "消耗CPU前十排行" >> $file_output
create_table_head1 >> $file_output
create_tr3 "/tmp/tmptopcpu_`date +%y%m%d`.txt"
create_table_end >> $file_output
create_html_head "消耗内存前十排行" >> $file_output
create_table_head1 >> $file_output
create_tr3 "/tmp/tmptopmem_`date +%y%m%d`.txt"
create_table_end >> $file_output
create_html_head "磁盘io情况" >> $file_output
create_table_head1 >> $file_output
create_tr3 "/tmp/tmptopio_`date +%y%m%d`.txt"
create_table_end >> $file_output
create_html_head "定时任务信息" >> $file_output
create_table_head1 >> $file_output
get_crontablist
create_tr3 "/tmp/tmp_crontab_`date +%y%m%d`.txt"
create_table_end >> $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
}
# This script must be executed as root
RUID=`id|awk -F\( '{print $1}'|awk -F\= '{print $2}'`
if [ ${RUID} != "0" ];then
echo"This script must be executed as root"
exit 1
fi
PLATFORM=`uname`
if [ ${PLATFORM} = "HP-UX" ] ; then
echo "This script does not support HP-UX platform for the time being"
exit 1
elif [ ${PLATFORM} = "SunOS" ] ; then
echo "This script does not support SunOS platform for the time being"
exit 1
elif [ ${PLATFORM} = "AIX" ] ; then
echo "This script does not support AIX platform for the time being"
exit 1
elif [ ${PLATFORM} = "Linux" ] ; then
create_html
fi
在linux启动脚本,会生成 os_linux_summary.html文件
你可能感兴趣的:(linux,html,运维)
如何在编辑器wangEditor中完美复制粘贴WORD内容?
M_Snow
编辑器 word umeditor粘贴word ueditor粘贴word ueditor复制word ueditor上传word图片 ueditor导入word
要求:开源,免费,技术支持编辑器:wangEditor前端:vue2,vue3,vue-cli,html5后端:java,jsp,springboot,asp.net,php,asp,.netcore,.netmvc,.netform群体:学生,个人用户,外包,自由职业者,中小型网站,博客,场景:数字门户,数字中台,站群,内网,外网,信创国产化环境,web截屏行业:医疗,教育,建筑,政府,党政,国
网页版wangEditor如何实现WORD图片的高效粘贴?
M_Snow
word umeditor粘贴word ueditor粘贴word ueditor复制word ueditor上传word图片 ueditor导入word ueditor导入pdf
要求:开源,免费,技术支持编辑器:wangEditor前端:vue2,vue3,vue-cli,html5后端:java,jsp,springboot,asp.net,php,asp,.netcore,.netmvc,.netform群体:学生,个人用户,外包,自由职业者,中小型网站,博客,场景:数字门户,数字中台,站群,内网,外网,信创国产化环境,web截屏行业:医疗,教育,建筑,政府,党政,国
buuctf新生赛(ACTF2020)
HfLllo
linux 运维 服务器
1.Upload:文件上传,phtml2.BackupFile:codesearch找备份文件,弱类型比较==(只要求值相等)3.Exec:网站;ls(linux列出当前目录有哪些文件和目录)网站;ls/(看根目录里有什么内容)查看文件:web;cat/file4.Include:php://filter/read=convert.base64-encode/resource=file.php,再
腾讯云TSE注册中心实战:Nacos高可用集群搭建与流量治理避坑指南
大熊计算机
# 腾讯云 腾讯云 云计算
1.为什么选择腾讯云TSE托管Nacos?在微服务架构中,注册中心承担着服务发现与配置管理的核心职能。Nacos作为阿里开源的动态服务发现组件,已成为国内微服务生态的事实标准。腾讯云微服务引擎TSE(TencentCloudServiceEngine)提供的Nacos托管服务,通过全托管架构彻底解决了自建Nacos集群的运维复杂度问题。本文将从实战角度,深入剖析:TSENacos集群的高可用架构设
【Linux 从基础到进阶】IPv6配置与管理
爱技术的小伙子
Linux从基础到进阶 linux 运维 服务器
IPv6配置与管理引言随着互联网地址资源的不断消耗,IPv6作为IPv4的继任者,已逐渐成为网络中的主流协议。相比IPv4,IPv6不仅提供了更为丰富的地址空间,还引入了多种新功能,如自动配置、安全性增强以及改进的路由效率。对于系统管理员来说,掌握IPv6的配置与管理至关重要。本文将详细介绍如何在CentOS和Ubuntu系统中进行IPv6的配置与管理,涵盖基本的网络配置、地址分配、路由配置以及常
【入门第1课】Splunk安装配置和基础运维
我只会Traceroute
SIEM SIEM Splunk 安全分析
前言Splunk社区,包括白皮书,各类手册,资源下载,社区问答等入门:Splunk入门指南|Splunk手册:Splunk®Enterprise-SplunkDocumentation资源下载:数据可视化工具SplunkEnterprise免费下载|Splunk中文版手册下载:简体中文版手册-SplunkDocumentation1、安装indexer#1rpm安装rpm-isplunk-9.0.
微软商店中的工具合集应用
BinField
windows microsoft
ToolsSet是微软商店中的一款包含近百种实用工具的工具集合应用,细分功能达到数百种,详细功能列表及使用方法可以查看以下链接:Windows应用ToolsSet介绍https://iceskydev.github.io/AppDoc/tools/zh/ToolsSet.html工具主要分为六类:数值类、文本类、日期类、媒体类、其他类、在线工具数值类数值类功能包括:进制转换、数字和文本互转、单位转
Linux(进程概念)
目录冯诺依曼体系操作系统进程概念进程控制进程状态环境变量虚拟地址空间(进程隔离与内存管理的基石)程序替换冯诺依曼体系五大硬件单元运算器控制器存储器输入设备输出设备所有硬件都是围绕内存工作的操作系统核心目的:高效管理与便捷交互资源管理:优化硬件与软件的资源分配提供抽象接口:屏蔽硬件复杂性保障系统安全与稳定性提供用户交互界面定位:计算机系统的管理者与桥梁如何管理:先描述再组织库函数与系统调用的关系系统
运行go程序时出现的同包多文件不能调用的问题
wjhx
golang golang 开发语言 后端
翻出一个以前的项目,使用go编写,运行在linux上,当前在win11上运行,vscode下launch.json配置如下:{//使用IntelliSense了解相关属性。//悬停以查看现有属性的描述。//欲了解更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387"version":"0.2.0","configurations":[{"n
Spring Cloud 微服务
阿乾之铭
Spring Cloud 微服务 spring cloud 微服务 spring
什么是微服务?微服务是一种将应用划分为多个独立服务的架构风格,服务通过轻量级通信协议互相协作,每个服务负责单一功能,可独立开发、部署和运行。微服务架构的优缺点优点:独立部署,技术选型灵活;容错性强,支持快速迭代;高扩展性,更易于维护。缺点:系统复杂度高;数据一致性和分布式事务管理难;运维成本和性能开销增加。单体架构向微服务架构的演进单体架构缺点:扩展性差、维护困难、更新风险高,无法满足复杂业务需求
Docker 从入门到精通:运维工程师的容器化生存指南
大模型大数据攻城狮
运维 docker 容器 k8s 运维面试 dockerfile 虚拟化
目录第1章:Docker是什么?为什么它能改变运维的游戏规则?第2章:Docker安装与环境准备第3章:Docker常用命令入门第4章:Dockerfile的初探第5章:Docker网络的那些事儿第6章:数据持久化:让容器数据不“失忆”第7章:DockerCompose:多容器的“交响乐指挥家”第8章:进阶命令与运维技巧第9章:Docker与CI/CD:让部署快如闪电第10章:容器监控:让你的Do
互联网大厂Java面试实战:严肃面试官与搞笑谢飞机的三轮提问
Fu Dun Yao
Java场景面试宝典 Java 面试 JUC JVM 多线程 线程池 HashMap
互联网大厂Java面试实战:严肃面试官与搞笑谢飞机的三轮提问本文通过一个面试故事,展示了互联网大厂Java求职者与严肃面试官的对话。面试官就Java核心技术、JUC、JVM、多线程、线程池、HashMap、ArrayList、Spring及相关框架、分布式技术、消息队列、中间件、数据库、Linux、Docker、设计模式及DDD等多个技术点,分三轮提问。求职者谢飞机偶尔能准确回答简单问题获得认可,
Nexpose 8.11.0 for Linux & Windows - 漏洞扫描
sysinside
Windows Nexpose
Nexpose8.11.0forLinux&Windows-漏洞扫描Rapid7on-premVulnerabilityManagement,releasedJune19,2025请访问原文链接:https://sysin.org/blog/nexpose/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgNexposeVulnerabilityScanner您的本地漏洞扫描程序搜
git本地裸仓库的“激活”:在同一台 Linux 服务器上创建工作区
运维开发王义杰
系统运维 软件工具 服务器 git linux
大家好!在之前的文章中,我们探讨了Git裸仓库(BareRepository)的概念,它是没有工作目录,只包含.git目录内容的特殊仓库格式,非常适合作为中心化的代码集散地或备份。我们也了解了gitclone--mirror命令会生成这样的裸仓库。现在,假设我们已经在Linux服务器上的/data/gitlab/cex-cicd/pipeline.git路径下拥有一个这样的裸仓库(之前备份或创建的
事件驱动架构(EDA):不止是代码,更是现代运维的灵魂
运维开发王义杰
系统运维 系统架构 aws 架构 运维
今天我们来聊一个在云原生时代越来越火热的概念——事件驱动架构(Event-DrivenArchitecture,EDA)。大家可能在浏览AWSEventBridge、ApacheKafka或RabbitMQ的文档时遇到过它。起初,可能会觉得这只是软件工程师在设计微服务时用到的一种模式。但如果我们深入思考就会发现,EDA的精髓早已渗透到现代系统运维的方方面面,甚至可以说,它是一种构建和管理高韧性、高
html5-video标签做视频加密的方法
视频砖家
HTML5 视频加密 视频安全 视频加密 文件加密 视频安全
html5-video标签做视频加密的方法/**在这里可以进行权限验证等操作*///创建文件对象Filef=newFile("E:\\test.mp4");//获取文件名称StringfileName=f.getName();//导出文件Stringagent=getRequest().getHeader("User-Agent").toUpperCase();InputStreamfis=nul
视频云平台HTML5播放器使用文档(CuPlayer平台)
阿酷tony
酷播云(免费云存储) 音视频 html5 前端
视频云平台HTML5播放器使用文档(CuPlayer平台)varplayer=polyvPlayer({wrap:'#player',width:800,height:533,vid:'88083abbf5535a4d7b4d8614427559e0_8',});选项参数类型默认值说明wrapstring/HTMLElement-页面上存在需要载入播放器的DOM元素或css选择器widthnumb
Html5播放器禁止拖动播放器进度条(教学场景)
禁用视频课程进度条的拖动功能,主要是为了强制学员按照课程设计的顺序观看内容,防止跳过关键知识点,从而保证学习效果和课程的完整性。这在以下几种教育场景中尤为常见和有意义。演示地址:禁用拖动视频进度条01.防止应试作弊:在一些需要观看视频才能解锁下一章节或完成测试的场景中,禁用拖动能确保学员真正观看了教学内容,而不是仅仅为了完成任务而快进。02.强制观看基础知识:对于那些知识点层层递进的课程(例如编程
在vue3中通过jspdf+html2canvas实现导出页面pdf功能
落晓星
pdf vue.js 前端 ruoyi
一、安装依赖npminstallhtml2canvasjspdf二、创建Vue组件下载文件importhtml2canvasfrom'html2canvas';importjsPDFfrom'jspdf';constroute=useRoute();//当前idconstpolicyExplainId=ref(route.params.id);constloading=ref(false);//详
linux系统中如何查看日志 (常用命令)
darling_user
Linux
cattail-f日志文件说明/var/log/message系统启动后的信息和错误日志,是RedHatLinux中最常用的日志之一/var/log/secure与安全相关的日志信息/var/log/maillog与邮件相关的日志信息/var/log/cron与定时任务相关的日志信息/var/log/spooler与UUCP和news设备相关的日志信息/var/log/boot.log守护进程启动
国产操作系统编译统信uos(linux)编译Sqlite3.3
不行人视
环境踩坑 linux sqlite 笔记
文章目录一、下载源码二、编译步骤1.解压2.构建3.编译下载三、检查安装是否成功一、下载源码链接:https://www.sqlite.org/index.html二、编译步骤1.解压tar-xvfsqlite-autoconf-3460000.tar.gz新建一个文件夹用来存放编译下载的文件mkdirset_sql进入解压的文件夹cdcdsqlite-autoconf-3460000/2.构建构
阿里云Redhat系Linux修改ssh默认端口
z同学的编程之旅
环境搭建 阿里云 linux ssh
阿里云Redhat系Linux修改ssh默认端口在阿里云买了个服务器,想着ssh的默认端口是22,这不安全。我就将修改ssh默认端口的过程记录下来了,方便日后回看。本命令适用于Redhat系Linux,例如Redhat、Centos、AlibabaCloudLinux、OracleLinux、RockyLinux、AlmaLinux等。我为什么知道这些Linux?因为公司有内核相关业务,接触的多了
统信UOS(Linux)安装nvm node管理工具
高高i
linux 运维 服务器 UOS 统信 nvm安装
整篇看完再操作,有坑!!官网nvm官网按照官网方式安装,一直报错经过不断研究,正确步骤如下1、下载安装包可能因为网络安全不能访问github,我是链接热点下载的wgethttps://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.1.tar.gz2、解压可能报mkdir无权限,所以需要使用sudo执行解压命令,可能报找不到文件【v0.39.1.tar.
linux -bash: fork: Cannot allocate memory解决办法
肖二狗
linux bash linux 运维
linux-bash:fork:Cannotallocatememory执行命令显示:-bash:fork:Cannotallocatememory排查发现原因:系统的pid_max不够用了echo1493909>/proc/sys/kernel/pid_max执行命令后,系统正常
Linux更新操作系统Openssh版本9.3p1(源码编译安装)
Lz__Heng
Linux OpenSSH linux 服务器 运维
Linux更新操作系统Openssh版本9.3p1(源码编译安装)部署前准备安装依赖yuminstall-ygccgcc-c++glibcmakeautoconfopensslopenssl-develpcre-develpam-develyuminstall-ypam*zlib*openssh-9.3p1.tar.gzopenssl-3.1.0.tar.gz备份文件cp/etc/pam.d/ss
Reqable:跨平台HTTP开发与调试工具
在现代软件开发中,HTTP请求的调试和测试是开发者日常工作的重要组成部分。Reqable是一款功能强大且易于使用的跨平台HTTP开发与调试工具,它简化了HTTP请求的构建、发送和响应分析过程,为开发者提供了极大的便利。一、Reqable的主要功能Reqable提供了丰富的功能,帮助开发者高效地进行HTTP开发和调试:多平台支持:Reqable支持Windows、macOS和Linux操作系统,确保
v-if、display、visibility、opacity隐藏元素的区别
甘露寺
前端 vue react
前端元素隐藏与条件渲染完全指南(Vuevs.Reactvs.CSS)本文对比v-if、v-show、display:none、opacity:0、visibility:hidden以及React条件渲染的差异,帮你彻底掌握它们的适用场景!核心概念1.DOM树vs.渲染树DOM树:完整的HTML节点结构(无论是否隐藏)。渲染树:浏览器实际绘制到屏幕上的内容(隐藏元素可能被跳过)。2.关键差异特性是否
CSS 与 JavaScript 加载优化
甘露寺
css javascript 前端
CSS与JavaScript加载优化指南:位置、阻塞与性能让你的网页飞起来!本文详细解析CSS和JavaScript标签的放置位置如何影响页面性能,涵盖阻塞原理、浏览器机制和最佳实践。掌握这些知识可显著提升用户体验和SEO排名!一、核心问题:为什么位置很重要?浏览器渲染页面时需经历:解析HTML→2.下载资源→3.执行脚本→4.渲染页面错误的位置会阻塞关键路径,导致:⚠️长时间白屏(脚本阻塞)样式
Linux下RabbitMQ集群安装
长腿帅哥
Linux 操作手册 rabbitmq linux
一、环境准备(all)1.下载rabbitmq、erlang包查看两者对应的版本号RabbitMQErlangVersionRequirements—RabbitMQerlang:otp_src_24.2.tar.gzrabbitmq:rabbitmq-server-generic-unix-3.10.5.tar.xzIP:192.168.255.150、192.168.255.151、192.1
python日期时间用哪个模块_python模块介绍-datetime介绍:基本的日期和时间类型
待更新介绍gevent是基于协程的Python网络库。特点:基于libev的快速事件循环(Linux上epoll,FreeBSD上kqueue)。基于greenlet的轻量级执行单元。API的概念和Python标准库一致(如事件,队列)。可以配合socket,ssl模块使用。能够使用标准库和第三方模块创建标准的阻塞套接字(gevent.monkey)。默认通过线程池进行DNS查询,也可通过c-ar
解线性方程组
qiuwanchi
package gaodai.matrix;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Sc
在mysql内部存储代码
annan211
性能 mysql 存储过程 触发器
在mysql内部存储代码
在mysql内部存储代码,既有优点也有缺点,而且有人倡导有人反对。
先看优点:
1 她在服务器内部执行,离数据最近,另外在服务器上执行还可以节省带宽和网络延迟。
2 这是一种代码重用。可以方便的统一业务规则,保证某些行为的一致性,所以也可以提供一定的安全性。
3 可以简化代码的维护和版本更新。
4 可以帮助提升安全,比如提供更细
Android使用Asynchronous Http Client完成登录保存cookie的问题
hotsunshine
android
Asynchronous Http Client是android中非常好的异步请求工具
除了异步之外还有很多封装比如json的处理,cookie的处理
引用
Persistent Cookie Storage with PersistentCookieStore
This library also includes a PersistentCookieStore whi
java面试题
Array_06
java 面试
java面试题
第一,谈谈final, finally, finalize的区别。
final-修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能
网站加速
oloz
网站加速
前序:本人菜鸟,此文研究总结来源于互联网上的资料,大牛请勿喷!本人虚心学习,多指教.
1、减小网页体积的大小,尽量采用div+css模式,尽量避免复杂的页面结构,能简约就简约。
2、采用Gzip对网页进行压缩;
GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNⅨ系统的文件压缩。我们在Linux中经常会用到后缀为.gz
正确书写单例模式
随意而生
java 设计模式 单例
单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。
懒汉式,线程不安全
当被问到要实现一个单例模式时,很多人的第一反应是写出如下的代码,包括教科书上也是这样
单例模式
香水浓
java
懒汉 调用getInstance方法时实例化
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static synchronized Singleton getInstance() {
if(null == ins
安装Apache问题:系统找不到指定的文件 No installed service named "Apache2"
AdyZhang
apache http server
安装Apache问题:系统找不到指定的文件 No installed service named "Apache2"
每次到这一步都很小心防它的端口冲突问题,结果,特意留出来的80端口就是不能用,烦。
解决方法确保几处:
1、停止IIS启动
2、把端口80改成其它 (譬如90,800,,,什么数字都好)
3、防火墙(关掉试试)
在运行处输入 cmd 回车,转到apa
如何在android 文件选择器中选择多个图片或者视频?
aijuans
android
我的android app有这样的需求,在进行照片和视频上传的时候,需要一次性的从照片/视频库选择多条进行上传
但是android原生态的sdk中,只能一个一个的进行选择和上传。
我想知道是否有其他的android上传库可以解决这个问题,提供一个多选的功能,可以使checkbox之类的,一次选择多个 处理方法
官方的图片选择器(但是不支持所有版本的androi,只支持API Level
mysql中查询生日提醒的日期相关的sql
baalwolf
mysql
SELECT sysid,user_name,birthday,listid,userhead_50,CONCAT(YEAR(CURDATE()),DATE_FORMAT(birthday,'-%m-%d')),CURDATE(), dayofyear( CONCAT(YEAR(CURDATE()),DATE_FORMAT(birthday,'-%m-%d')))-dayofyear(
MongoDB索引文件破坏后导致查询错误的问题
BigBird2012
mongodb
问题描述:
MongoDB在非正常情况下关闭时,可能会导致索引文件破坏,造成数据在更新时没有反映到索引上。
解决方案:
使用脚本,重建MongoDB所有表的索引。
var names = db.getCollectionNames();
for( var i in names ){
var name = names[i];
print(name);
Javascript Promise
bijian1013
JavaScript Promise
Parse JavaScript SDK现在提供了支持大多数异步方法的兼容jquery的Promises模式,那么这意味着什么呢,读完下文你就了解了。
一.认识Promises
“Promises”代表着在javascript程序里下一个伟大的范式,但是理解他们为什么如此伟大不是件简
[Zookeeper学习笔记九]Zookeeper源代码分析之Zookeeper构造过程
bit1129
zookeeper
Zookeeper重载了几个构造函数,其中构造者可以提供参数最多,可定制性最多的构造函数是
public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, long sessionId, byte[] sessionPasswd, boolea
【Java命令三】jstack
bit1129
jstack
jstack是用于获得当前运行的Java程序所有的线程的运行情况(thread dump),不同于jmap用于获得memory dump
[hadoop@hadoop sbin]$ jstack
Usage:
jstack [-l] <pid>
(to connect to running process)
jstack -F
jboss 5.1启停脚本 动静分离部署
ronin47
以前启动jboss,往各种xml配置文件,现只要运行一句脚本即可。start nohup sh /**/run.sh -c servicename -b ip -g clustername -u broatcast jboss.messaging.ServerPeerID=int -Djboss.service.binding.set=p
UI之如何打磨设计能力?
brotherlamp
UI ui教程 ui自学 ui资料 ui视频
在越来越拥挤的初创企业世界里,视觉设计的重要性往往可以与杀手级用户体验比肩。在许多情况下,尤其对于 Web 初创企业而言,这两者都是不可或缺的。前不久我们在《右脑革命:别学编程了,学艺术吧》中也曾发出过重视设计的呼吁。如何才能提高初创企业的设计能力呢?以下是 9 位创始人的体会。
1.找到自己的方式
如果你是设计师,要想提高技能可以去设计博客和展示好设计的网站如D-lists或
三色旗算法
bylijinnan
java 算法
import java.util.Arrays;
/**
问题:
假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,
您希望将之分类,并排列为蓝、白、红的顺序,要如何移动次数才会最少,注意您只能在绳
子上进行这个动作,而且一次只能调换两个旗子。
网上的解法大多类似:
在一条绳子上移动,在程式中也就意味只能使用一个阵列,而不使用其它的阵列来
警告:No configuration found for the specified action: \'s
chiangfai
configuration
1.index.jsp页面form标签未指定namespace属性。
<!--index.jsp代码-->
<%@taglib prefix="s" uri="/struts-tags"%>
...
<s:form action="submit" method="post"&g
redis -- hash_max_zipmap_entries设置过大有问题
chenchao051
redis hash
使用redis时为了使用hash追求更高的内存使用率,我们一般都用hash结构,并且有时候会把hash_max_zipmap_entries这个值设置的很大,很多资料也推荐设置到1000,默认设置为了512,但是这里有个坑
#define ZIPMAP_BIGLEN 254
#define ZIPMAP_END 255
/* Return th
select into outfile access deny问题
daizj
mysql txt 导出数据到文件
本文转自:http://hatemysql.com/2010/06/29/select-into-outfile-access-deny%E9%97%AE%E9%A2%98/
为应用建立了rnd的帐号,专门为他们查询线上数据库用的,当然,只有他们上了生产网络以后才能连上数据库,安全方面我们还是很注意的,呵呵。
授权的语句如下:
grant select on armory.* to rn
phpexcel导出excel表简单入门示例
dcj3sjt126com
PHP Excel phpexcel
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
if (PHP_SAPI == 'cli')
die('This example should only be run from a Web Brows
美国电影超短200句
dcj3sjt126com
电影
1. I see. 我明白了。2. I quit! 我不干了!3. Let go! 放手!4. Me too. 我也是。5. My god! 天哪!6. No way! 不行!7. Come on. 来吧(赶快)8. Hold on. 等一等。9. I agree。 我同意。10. Not bad. 还不错。11. Not yet. 还没。12. See you. 再见。13. Shut up!
Java访问远程服务
dyy_gusi
httpclient webservice get post
随着webService的崛起,我们开始中会越来越多的使用到访问远程webService服务。当然对于不同的webService框架一般都有自己的client包供使用,但是如果使用webService框架自己的client包,那么必然需要在自己的代码中引入它的包,如果同时调运了多个不同框架的webService,那么就需要同时引入多个不同的clien
Maven的settings.xml配置
geeksun
settings.xml
settings.xml是Maven的配置文件,下面解释一下其中的配置含义:
settings.xml存在于两个地方:
1.安装的地方:$M2_HOME/conf/settings.xml
2.用户的目录:${user.home}/.m2/settings.xml
前者又被叫做全局配置,后者被称为用户配置。如果两者都存在,它们的内容将被合并,并且用户范围的settings.xml优先。
ubuntu的init与系统服务设置
hongtoushizi
ubuntu
转载自:
http://iysm.net/?p=178 init
Init是位于/sbin/init的一个程序,它是在linux下,在系统启动过程中,初始化所有的设备驱动程序和数据结构等之后,由内核启动的一个用户级程序,并由此init程序进而完成系统的启动过程。
ubuntu与传统的linux略有不同,使用upstart完成系统的启动,但表面上仍维持init程序的形式。
运行
跟我学Nginx+Lua开发目录贴
jinnianshilongnian
nginx lua
使用Nginx+Lua开发近一年的时间,学习和实践了一些Nginx+Lua开发的架构,为了让更多人使用Nginx+Lua架构开发,利用春节期间总结了一份基本的学习教程,希望对大家有用。也欢迎谈探讨学习一些经验。
目录
第一章 安装Nginx+Lua开发环境
第二章 Nginx+Lua开发入门
第三章 Redis/SSDB+Twemproxy安装与使用
第四章 L
php位运算符注意事项
home198979
位运算 PHP &
$a = $b = $c = 0;
$a & $b = 1;
$b | $c = 1
问a,b,c最终为多少?
当看到这题时,我犯了一个低级错误,误 以为位运算符会改变变量的值。所以得出结果是1 1 0
但是位运算符是不会改变变量的值的,例如:
$a=1;$b=2;
$a&$b;
这样a,b的值不会有任何改变
Linux shell数组建立和使用技巧
pda158
linux
1.数组定义 [chengmo@centos5 ~]$ a=(1 2 3 4 5) [chengmo@centos5 ~]$ echo $a 1 一对括号表示是数组,数组元素用“空格”符号分割开。
2.数组读取与赋值 得到长度: [chengmo@centos5 ~]$ echo ${#a[@]} 5 用${#数组名[@或
hotspot源码(JDK7)
ol_beta
java HotSpot jvm
源码结构图,方便理解:
├─agent Serviceab
Oracle基本事务和ForAll执行批量DML练习
vipbooks
oracle sql
基本事务的使用:
从账户一的余额中转100到账户二的余额中去,如果账户二不存在或账户一中的余额不足100则整笔交易回滚
select * from account;
-- 创建一张账户表
create table account(
-- 账户ID
id number(3) not null,
-- 账户名称
nam