<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Ops运维 | Mr`kang Blog｜小豆子]]></title> 
<link>https://www.cnmysql.com/index.php</link> 
<description><![CDATA[关注服务器运维技术、DB优化、Docker虚拟化、自动化运维、工作积累]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Ops运维 | Mr`kang Blog｜小豆子]]></copyright>
<item>
<link>https://www.cnmysql.com/post//</link>
<title><![CDATA[工作积累-备忘]]></title> 
<author>kangyang &lt;kangyang315@qq.com&gt;</author>
<category><![CDATA[LINUX系统管理]]></category>
<pubDate>Mon, 21 Jul 2014 08:29:12 +0000</pubDate> 
<guid>https://www.cnmysql.com/post//</guid> 
<description>
<![CDATA[ 
	<span style="font-size: 12px;"><span style="font-family: 宋体;"><br/>【linux下各种监控小工具】<br/>iotop&nbsp;&nbsp;监控进程io<br/>monit&nbsp;&nbsp;监控系统进程<br/>mtr&nbsp;&nbsp;&nbsp;&nbsp;路由跟踪<br/>ntop&nbsp;&nbsp; 监控网络流程<br/>iftop&nbsp;&nbsp;&nbsp;&nbsp;端口流量监控工具<br/>nethogs&nbsp;&nbsp;进程流量监控<br/>iptraf&nbsp;&nbsp;&nbsp;&nbsp;网络流量实时监控工具<br/>tuned/tuned-adm 工具动态调优系统<br/>glances&nbsp;&nbsp;&nbsp;&nbsp;Linux系统资源监控工具<br/>NICSTAT&nbsp;&nbsp; linux网卡监控<br/>htop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;linux下交互式进程浏览器&nbsp;&nbsp; <br/>ngxtop&nbsp;&nbsp;&nbsp;&nbsp;nginx监控利器<br/>dstat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;性能监控利器<br/>pidstat&nbsp;&nbsp; 监控全部或指定进程占用系统资源的情况<br/>blktrace&nbsp;&nbsp;统计磁盘块I/O访问频率 <br/><br/><a href="http://www.slideshare.net/brendangregg/linux-performance-analysis-and-tools" target="_blank">http://www.slideshare.net/brendangregg/linux-performance-analysis-and-tools</a><br/><br/>【mysql导出指定行数据】<br/>mysqldump -uxxx -pxxx dbname tablename -w "id=xxx" > xxx.sql <br/><br/>【screen命令】<br/>ssh中断后shell或者命令也不会中断<br/>yum -yinstall screen<br/>screen -S test&nbsp;&nbsp; ----创建一个test回话<br/>curl -O <a href="http://mirror.bit.edu.cn/centos/5/isos/x86_64/CentOS-5.10-x86_64-bin-2of9.iso&nbsp;&nbsp;--" target="_blank">http://mirror.bit.edu.cn/centos/5/isos/x86_64/CentOS-5.10-x86_64-bin-2of9.iso&nbsp;&nbsp;--</a>下载镜像<br/>ctrl+a后ctrl+d&nbsp;&nbsp; ----保留当前会话切换到其他会话<br/>screen -ls&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----查看执行的会话<br/>screen -r&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;----切换到指定会话<br/>screen -D -r id&nbsp;&nbsp;-----ssh中断后切换，踢掉占用进入会话<br/><br/>【查看进程的启动目录】<br/>pwdx pid<br/><br/>【vim删除一段话】<br/>vi txt<br/>v&nbsp;&nbsp;进入可视模式，选择后del<br/><br/>【线程死锁调试】<br/>jstack pid&nbsp;&nbsp; ====针对java进程<br/>pstack pid&nbsp;&nbsp; ====所有线程<br/>gdb调试 C 和 C++ 程序的调试器。<br/><br/><br/><br/>【查找目录文件字符串】<br/>grep name -rl /usr/local/<br/><br/>【卸载包时报错】<br/>[root@localhost log]# rpm -qa &#124; grep libevent<br/>libevent-1.4.13-1<br/>libevent-devel-1.4.13-1<br/>libevent-devel-1.4.13-1<br/>libevent-1.4.13-1<br/>[root@localhost log]# rpm -e libevent<br/>error: "libevent" specifies multiple packages<br/><br/>解决办法<br/>造成这个问题的主要原因是套件被重複 (强制) 安装了两次以上.<br/>尝试了--nodeps, --force, --justdb都不行。结果碰巧解决!<br/>通过man rpm，发现--allmatches应该可以解决这个问题.<br/>[root@testserver openssl-0.9.8l]# rpm -e --allmatches --nodeps libevent*<br/>[root@testserver openssl-0.9.8l]# rpm -qa &#124; grep libevent<br/><br/>【查看当前系统连接数】<br/>#netstat -na &#124; awk ‘/^tcp/ &#123;++S[$NF]&#125; END &#123;for(a in S) print a, S[a]&#125;’ <br/>&nbsp;&nbsp;&nbsp;&nbsp; 脚本分段解释： <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;netstat -na&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#显示当前系统中所有的连接信息，并将连接的端口号显示出来<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124; awk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #将前面获取到的内容传递给awk进行处理<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;‘/^tcp/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #匹配以tcp开头的行<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;++S[$NF]&#125;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #定义一个数组S,键为内容的最后一列,这里如ESTABLISHED,TIME-WAIT等,对应的值是键值出现的次数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END &#123;for(a in S)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#前面计数完成之后循环此数组,a为键,S[a]为值<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print a, S[a]&#125;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#打印键名和键值<br/>&nbsp;&nbsp;以上的命令就能很清晰的得出系统的连接状态：<br/>&nbsp;&nbsp;&nbsp;&nbsp;CLOSE_WAIT 337<br/>&nbsp;&nbsp;&nbsp;&nbsp;ESTABLISHED 975<br/>&nbsp;&nbsp;&nbsp;&nbsp;SYN_RECV 256<br/>&nbsp;&nbsp;&nbsp;&nbsp;LISTEN 6<br/><br/>【tracert路由时有的路由限制icmp包可以用tcptraceroute进行路由跟踪】<br/><div class="code">yum install tcptraceroute<br/>tcptraceroute 域名或者IP</div><br/><br/>【如何在Linux中发现IP地址冲突】<br/><div class="code">yum install arp-scan<br/>arp-scan –I eth0 -l </div><br/><br/>【查看linx错误代码意思】<br/><div class="code">perror code</div><br/><br/>【resolv.conf重启清空问题】<br/>在/etc/resolv.conf中增加dns地址，重启网卡服务后，文件内容被清空。<br/>解决办法：<br/><br/>关闭NetworkManager服务<br/><div class="code">/etc/init.d/NetworkManager stop<br/><br/>vim /etc/resolv.conf<br/>修改或新增dns地址：<br/>nameserver xxx.xxx.xxx.xxx<br/><br/>/etc/init.d/network restart<br/>chkconfig NetworkManager off </div><br/><br/>【linux修改时区】<br/>/usr/share/zoneinfo&nbsp;&nbsp;&nbsp;&nbsp;----时区文件<br/>/etc/sysconfig/clock&nbsp;&nbsp; ----时区<br/><br/><div class="code">rm -fr /etc/localtime<br/><br/>cp /usr/share/zoneinfo/Brazil/East /etc/localtime<br/>vi /etc/sysconfig/clock <br/><br/>ZONE=&quot;Asia/Shanghai&quot;<br/><br/>UTC=false<br/><br/>ARC=false<br/><br/><br/>ZONE=&quot;Brazil/East&quot;<br/>UTC=false<br/>ARC=false<br/><br/>/usr/sbin/ntpdate ntp.api.bz;/usr/sbin/hwclock -w</div><br/><br/><br/>【linux系统中文字符集】<br/>locale -a&nbsp;&nbsp; ----查看已经安装的字符集<br/>env &#124; grep LANG 或者 locale&nbsp;&nbsp;&nbsp;&nbsp; ------查看当前系统使用的字符集<br/><br/>修改整个系统的字符集<br/>&nbsp;&nbsp;&nbsp;&nbsp;<div class="code"> vi /etc/environment --&gt; LANG=Zh_CN</div><br/><br/>修改单个用户的字符集<br/>&nbsp;&nbsp;&nbsp;&nbsp;<div class="code"> vi .profile --&gt; EXPORT LANG=xxx</div><br/><br/><br/>【AWK合并行】<br/><div class="code">awk &#039;&#123;if (NR%4==0)&#123;print $0&#125; else &#123;printf&quot;%s &quot;,$0&#125;&#125;&#039;</div><br/><br/>【删除乱码文件】<br/><div class="code">ls -i&nbsp;&nbsp;----查看乱码文件的i节点<br/>find . -inum 17956913 -exec rm &#123;&#125; &#92;;&nbsp;&nbsp; 删除<br/>find . -inum 17956913 -exec mv &#123;&#125; file.txt &#92;;&nbsp;&nbsp; 改名 </div><br/><br/><br/>【下载日志发邮件】<br/><div class="code">yum install mutt<br/>echo &quot;内容&quot; &amp;#124; mutt -a 附件 -s &quot;主题&quot; 邮件地址&nbsp;&nbsp;</div><br/><br/>mailq&nbsp;&nbsp;----查看邮件队列<br/><br/>报错信息&nbsp;&nbsp;(host map: lookup (domain.com): deferred) 因为senmail反向解析的事<br/>解决办法：<br/><div class="code"># vim /etc/mail/sendmail.cf<br/>找到 #O ResolverOptions=+AAONLY 这一行信息，并把它的注释去掉。<br/># /etc/init.d/sendmail restart</div><br/><br/><br/><br/>【mysqlbinlog: unknown variable 'default-character-set=utf8'】<br/>解决办法：<br/>1、mysqlbinlog --no-defaults&nbsp;&nbsp;<br/>2、my.cnf中client选项里面注释efault-character-set=utf8<br/><br/><br/>【This function has none of DETERMINISTIC, NO SQL解决办法 】<br/>备份存储过程和函数使用-R参数<br/>导入函数报错是因为开启了binlog日志<br/>解决办法是<br/><div class="code">show variables like &#039;log_bin_trust_function_creators&#039;;&nbsp;&nbsp; 查看log_bin_trust_function_creators是否开启<br/>set global log_bin_trust_function_creators=1;&nbsp;&nbsp;&nbsp;&nbsp;开启log_bin_trust_function_creators<br/>或者log_bin_trust_function_creators=1 添加到my.cnf里面</div><br/><br/>link: <a href="http://blog.chinaunix.net/uid-20639775-id-3031821.html" target="_blank">http://blog.chinaunix.net/uid-20639775-id-3031821.html</a><br/><br/><br/><br/>【rsync 预览不同步】<br/><div class="code">rsync -nvr --progress /home/* test@ip::res<br/><br/>-n --显示那些文件将被传输<br/>-v --详细输出模式<br/>-r --目录递归模式</div><br/><br/>【同步】<br/><div class="code">rsync -avz --progress /home/*&nbsp;&nbsp;test@ip::res<br/><br/>-a 归档模式，表示以递归方式传输文件，并保持所有文件属性，等价于 -rlptgoD (注意不包括 -H)</div><br/><br/>【tar指定文件列表打包】<br/><div class="code"> tar -czv -T filelist -f /backup.tar.gz&nbsp;&nbsp;<br/> tar -czv -T filelist backup.tar.gz&nbsp;&nbsp;<br/></div><br/><br/>【mysql复制延迟】<br/>stop slave io_thread；&nbsp;&nbsp;-------从服务器上停止io线程<br/>stop slave sql_thread;&nbsp;&nbsp;-------从服务器上停止sql线程<br/>主：IO线程<br/>从：IO和SQL线程<br/>复制延迟实现办法：利用脚本停止从服务器的sql线程，任务计划再启动sql线程来达到从服务器的复制延迟<br/><br/>【SED删除匹配行】<br/><div class="code">#sed -i &quot;/route add -net/d&quot; /etc/rc.local </div><br/><br/>【### RPM通过源码制作rpm包##########】<br/>2.如何安装.src.rpm软件包 <br/>有些软件包是以.src.rpm结尾的，这类软件包是包含了源代码的rpm包，在安装时 <br/>需要进行编译。这类软件包有两种安装方法， <br/>方法一： <br/><div class="code">1.执行rpm -i your-package.src.rpm <br/>2. cd /usr/src/redhat/SPECS <br/>3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件 <br/>4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录 <br/>5. ./configure 这一步和编译普通的源码软件一样，可以加上参数 <br/>6. make <br/>7. make install&nbsp;&nbsp;</div><br/><br/>方法二: <br/>1.执行rpm -i you-package.src.rpm <br/>2. cd /usr/src/redhat/SPECS <br/>前两步和方法一相同 <br/>3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件 <br/>这时，在/usr/src/redhat/RPM/i386/ （根据具体包的不同，也可能是i686,noarch等等) <br/>在这个目录下，有一个新的rpm包，这个是编译好的二进制文件。 <br/>执行rpm -i new-package.rpm即可安装完成。<br/><br/><br/>【yum设置从那个源安装文件】<br/><div class="code">yum --enablerepo=name update php </div><br/><br/><br/>【打开core文件】<br/><div class="code">ulimit -c<br/>sed -i &quot;s/ulimit -S -c 0/ulimit -S -c unlimited/g&quot; /etc/profile<br/>source /etc/profile<br/>cat /etc/profile &#124; grep ulim<br/>ulimit -c<br/>ulimit -c unlimited&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;------打开core文件生成，但是只对当前会话起作用</div><br/><br/>【perror看系统报错信息】<br/><div class="code">&#91;root@www ~&#93;$ perror 30<br/>OS error code&nbsp;&nbsp;30:&nbsp;&nbsp;Read-only file system </div><br/><br/>【tar实现增量、差量备份】<br/>命令基本格式是： tar cvzf TARGET SOURCES -N TIME e.g tar cvzf foo.tgz /bak -N “2004-03-03 16:49:17″<br/>记住全备份的时间f_time和上一次增量备份的时间i_time;(现在的办法是以job为单位记录这两个时间: ” [JobName] [F_TIME] [I_TIME] ‘&#92;n’ “)<br/>全备份: tar cvzf foo.tgz /bak<br/>增量备份: tar cvzf foo.tgz /bak -N i_time<br/>差量备份: tar cvzf foo.tgz /bak -N f_time<br/><br/><br/>【mysql修复表】<br/><div class="code">mysqlcheck -c log_db_10040 ---检查数据库那个表损坏<br/>repair table tablename;&nbsp;&nbsp;---修复表<br/>check table tablename;&nbsp;&nbsp; ---检查表是否损坏</div><br/><br/>【pmap查看进程占用内存】<br/>pmap pid<br/><br/>mtr&nbsp;&nbsp;<br/>ntop&nbsp;&nbsp;&nbsp;&nbsp;<br/>iftop&nbsp;&nbsp;&nbsp;&nbsp;流量监控工具<br/>nethogs&nbsp;&nbsp;进程流量监控<br/>yum install iptraf<br/>iftop查看某个端口流量<br/><br/>【linux显示IP来源的工具】<br/><div class="code">wget http://qqwry.googlecode.com/files/nali-0.1.tar.gz<br/>./configure &amp;&amp; make &amp;&amp; make install<br/> mtr 210.51.163.180 &#124; nali&nbsp;&nbsp;</div><br/><br/>【dump进程内存切片】<br/><div class="code">jmap -dump:live,format=b,file=文件名 进程ID<br/>jmap -dump:live,format=b,file=14963.bin 14963</div><br/><br/>【vi里面替换】<br/><div class="code">:% s/false/true/g</div><br/><br/>【.消除vim中的^M的几种方法】<br/><div class="code">1)dos2uninx filename <br/>2)sed -e &#039;s/^M//&#039; filename<br/>3)vim中 :s/^M//gc</div><br/><br/>【找出消耗内存最多的前10名进程】<br/><div class="code"># ps -auxf &#124; sort -nr -k 4 &#124; head -10</div><br/><br/>【找出使用CPU最多的前10名进程】<br/><div class="code"># ps -auxf &#124; sort -nr -k 3 &#124; head -10</div><br/><br/>【清空linux buffer cache】<br/><div class="code">sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches</div><br/><br/>【查看端口进程id】<br/><div class="code">pidof mysql </div><br/><br/>【linux下踢人下线】<br/>pkill -kill -t tty<br/><br/>【swap空间释放】<br/>swapon -s&nbsp;&nbsp;---查看swap分区挂载点<br/>swapoff /dev/sda2&nbsp;&nbsp;--释放swap<br/>swapon -a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--开启swap<br/><br/><br/>【查看服务器型号和序列号】<br/>dmidecode -t 1<br/>命令1：dmidecode –t 1(获取所有信息)<br/>命令2：dmidecode -s system-serial-number（是数字）<br/><br/>【删除某个日期之前的binlog】<br/>PURGE MASTER LOGS BEFORE '2014-04-01 00:00:00';<br/><br/>PURGE MASTER LOGS TO 'mysql-bin.010';<br/>PURGE MASTER LOGS BEFORE '2008-06-22 13:00:00';<br/>PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);<br/><br/>reset master;&nbsp;&nbsp; ----清除所有的binlog<br/><br/><br/>【mysql默认支持innodb】<br/>1、vi /etc/my.cnf在mysqld下添加如下一行<br/>&nbsp;&nbsp; default-storage-engine=InnoDB<br/>2、删除innodb数据文件<br/>&nbsp;&nbsp;&nbsp;&nbsp;rm -rf ibdata1<br/>&nbsp;&nbsp;&nbsp;&nbsp;rm -rf ib_logfile0<br/>&nbsp;&nbsp;&nbsp;&nbsp;rm -rf ib_logfile1<br/>&nbsp;&nbsp;&nbsp;&nbsp;rm -rf ib_logfile2<br/>3、重启mysql<br/>show variables like '%storage_engine%';&nbsp;&nbsp;---查看默认存储引擎<br/>show engines;&nbsp;&nbsp; ---查看默认存储引擎<br/><br/>show variables like '%innodb%';<br/><br/><br/>【检查磁盘空间不释放问题】<br/>[root@/]# lsof &#124;grep delete<br/>kill 进程就行<br/><br/>【性能监测工具】<br/>dstat<br/>yum -y install dstat<br/>dstat -cdlmnpsy<br/>Rpm<br/>Centos 5.x 安装：<a href="http://pkgs.repoforge.org/dstat/dstat-0.7.2-1.el5.rfx.noarch.rpm" target="_blank">http://pkgs.repoforge.org/dstat/dstat-0.7.2-1.el5.rfx.noarch.rpm</a> <br/>Centos 6.x 安装：<a href="http://pkgs.repoforge.org/dstat/dstat-0.7.2-1.el6.rfx.noarch.rpm" target="_blank">http://pkgs.repoforge.org/dstat/dstat-0.7.2-1.el6.rfx.noarch.rpm</a> <br/>dstat -t --top-io-adv --top-bio-adv -l<br/><br/>【scp命令】<br/>-l limit<br/>指定用户所能使用的带宽，以Kbit/s为单位。<br/>-P port -p<br/>保留原文件的修改时间，访问时间和访问权限。<br/><br/><br/>【简易的python web服务器用途】<br/>$ python -m SimpleHTTPServer<br/>Serving HTTP on 0.0.0.0 port 8000 ...<br/>localhost.localdomain - - [22/Jul/2011 10:39:52] "GET / HTTP/1.1" 200 -<br/>...<br/><br/>【#取磁盘使用】<br/>[root@localhost check_log]# df -h &#124; awk '&#123;if($0~"/$") print $(NF-1)&#125;'<br/>66%<br/>[root@localhost check_log]# df -h &#124; awk '&#123;if($0~"/$") print $(NF-2)&#125;'<br/>85G<br/>[root@localhost check_log]# df -h &#124; awk '&#123;if($0~"/$") print $(NF-1)","$(NF-2)&#125;'<br/>66%,85G<br/>[root@localhost check_log]# <br/><br/>【#取cpu剩余】<br/>top -b -n 1 &#124; grep Cpu &#124; awk -F',' '&#123;print $(NF-4)&#125;' &#124; sed 's/%id//g'<br/><br/>【#去重统计】<br/>cat AA.txt &#124; sort &#124; uniq -c &#124; sort -nr &#124; awk '$1 > 2 && $1 < 7 ' ----重复次数大于2小于7的打印出来<br/><br/><br/>【#查看系统运行多长时间】<br/>$ cat /proc/uptime<br/>31351.83&nbsp;&nbsp;31341.94<br/>#第一个数字代表已经运行的时间<br/><br/>#可以用date命令来计算出系统的启动时间<br/>$ date -d "$(awk -F. '&#123;print $1&#125;' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"<br/>2011-03-17 00:50:51<br/><br/>#使用date命令计算系统的运行时间<br/>$ cat /proc/uptime&#124; awk -F. '&#123;run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行：%d天%d时%d分%d秒&#92;n",run_days,run_hour,run_minute,run_second)&#125;'<br/>系统已运行：0天8时45分27秒<br/><br/>#mysql主从监控<br/>*/10 * * * * source /etc/profile && /bin/sh /tmp/DB_slave__monitor/mysql_slave_check.sh<br/>-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT<br/>重启sendmail<br/>/etc/init.d/senmail restart<br/><br/>#修改默认存储引擎<br/>default-storage-engine=INNODB<br/><br/>【#iso镜像合并window版】<br/>copy /b CentOS-6.2-i386-bin-DVD1.iso+CentOS-6.2-i386-bin-DVD2.iso<br/><br/>#在modify_name_limit_time行后插入一条.i&#92;是在之前插入<br/>sed -i '/modify_name_limit_time/a&#92;&nbsp;&nbsp;&nbsp;&nbsp;<min_thread_pool_size description="服务器最小值">aaaaaa</min_thread_pool_size>' debug_server_params.xml<br/><br/><br/>#增加history历史条数<br/>echo "HISTFILESIZE=5000" >> /etc/bashrc && echo "HISTSIZE=5000" >> /etc/bashrc && echo 'HISTTIMEFORMAT="%Y%m%d %T "'>> /etc/bashrc && export HISTTIMEFORMAT<br/><br/>【#调试防火墙】<br/>*/5 * * * * root /bin/sh firestop.sh;firestop.sh内容为: service iptables stop;<br/><br/>【#dos文本转换】<br/>dos2unix<br/><br/>【#关闭selinux】<br/>临时办法：setenforce 0<br/>永久办法：修改/etc/selinux/config文件中设置SELINUX=disabled<br/>查看selinux状态：getenforce<br/><br/>【#软连接】<br/>1、目标文件不需要创建<br/>2、语法 ln -s 源文件 目标文件&nbsp;&nbsp;把谁软件到那<br/>下面示例是建立/data/tomcatlogin的软连接<br/>ln -s /data/tomcatlogin /usr/local/tomcatlogin&nbsp;&nbsp;<br/>ln -s&nbsp;&nbsp;/tmp/mysql.sock /var/lib/mysql/mysql.sock<br/><br/>【数据导入报错：Got a packet bigger than‘max_allowed_packet’bytes的问题】<br/> <br/>2个解决方法：<br/> <br/>1.临时修改：mysql>set global max_allowed_packet=524288000;修改 #512M<br/> <br/>2.修改my.cnf，需重启mysql。&nbsp;&nbsp;<a href="http://www.2cto.com&nbsp;&nbsp;" target="_blank">www.2cto.com&nbsp;&nbsp;</a><br/> <br/>&nbsp;&nbsp;在 [MySQLd] 部分添加一句（如果存在，调整其值就可以）：<br/>&nbsp;&nbsp;max_allowed_packet=10M<br/><br/><br/>【mysql连接慢解决办法】<br/>编辑/etc/mysql/my.cnf <br/>在[mysqld]下面加入如下两行<br/>skip-name-resolve&nbsp;&nbsp; <br/><br/>【setup网络报错】<br/>yum remove system-config-network system-config-network-tui<br/>yum install system-config-network system-config-network-tui<br/><br/>wget <a href="ftp://ftp.pbone.net/mirror/www.startcom.org/ML-5.0.7/os/i386/StartCom/RPMS/system-config-network-tui-1.3.99.10-2.ML5.noarch.rpm" target="_blank">ftp://ftp.pbone.net/mirror/www.startcom.org/ML-5.0.7/os/i386/StartCom/RPMS/system-config-network-tui-1.3.99.10-2.ML5.noarch.rpm</a><br/>wget <a href="ftp://ftp.pbone.net/mirror/www.startcom.org/ML-5.0.7/os/i386/StartCom/RPMS/system-config-network-1.3.99.10-2.ML5.noarch.rpm" target="_blank">ftp://ftp.pbone.net/mirror/www.startcom.org/ML-5.0.7/os/i386/StartCom/RPMS/system-config-network-1.3.99.10-2.ML5.noarch.rpm</a><br/>rpm -ivh system-config-network-1.3.99.10-2.ML5.noarch.rpm system-config-network-tui-1.3.99.10-2.ML5.noarch.rpm<br/><br/><br/><br/>【###指定网卡ping获取mac地址】<br/>arping -I eth1 -c 1 192.168.127.6<br/><br/>【#####提取某个表数据】<br/>awk '/CREATE TABLE `表名`/&#123;print;while(getline line)&#123;if(line ~ /DROP TABLE/)&#123;break&#125;;print line&#125;&#125;' <a href="http://www.sql" target="_blank">www.sql</a> &#124; grep -v ^SET > b_new.sql<br/> <br/>b_new.sql为提取出来的sql文件。<br/><br/><br/>【mysqlbinlog根据时间点还原】<br/>mysqlbinlog --start-datetime="2013-06-01 05:34:00" --stop-datetime="2013-06-01 15:54:00" mysql-bin.000029 > mysql-bin.000029.sql<br/><br/>#根据库名还原<br/>mysqlbinlog --database=jianghu_log&nbsp;&nbsp;mysql-bin.000029 > mysql-bin.000029.sql<br/><br/><br/>【删除目录下的所有txt文件排除test.txt【<br/>rm `ls *.txt&#124;egrep -v test.txt`&nbsp;&nbsp;<br/><br/>netstat -ap ---查看端口进程pid<br/><br/>pkill -kill -t tty<br/><br/>sed -n '851, 1500p' tempdb.sql > tempdb-2.sql<br/><br/>【排错mysql】<br/>ERROR 23 (HY000) at line 25: Out of resources when opening file './zhushen_flash_log_db/' (Errcode: 24)<br/>show global variables like '%open%';<br/>这就是MySQL的文件描述不够用<br/>修改my.cnf文件加入以下两行：<br/>open_files_limit = 65535<br/>innodb_open_files = 65535<br/>然后重启mysql 进入mysql查看open file数量：show variables like 'open%';<br/><br/><br/>wget -t0 -c -nH -np -b -m -P /localdir <a href="http://freesoft.online.sh.cn/mirrors/ftp.redhat.com" target="_blank">http://freesoft.online.sh.cn/mirrors/ftp.redhat.com</a> -o wget.log&nbsp;&nbsp; --------下载整个网站内容<br/><br/> rpm -e php-4.3.9-3.15 ——nodeps&nbsp;&nbsp;------------实在卸载不掉用此参数卸载<br/><br/>【使用yum的扩展插件yum-fastestmirror】<br/>#yum -y install yum-fastestmirror<br/>在Centos 4上,名字叫yum-plugin-fastestmirror<br/><br/>【修改linux机器名】<br/>hostname taobao-search01 <br/>vim /etc/sysconfig/network #修改其中的hostname<br/>vim /etc/hosts<br/>service network restart<br/><br/>【取CPU占用最高的进程ID】<br/>ps aux&#124;grep "^www "&#124;awk '&#123;print $3" " $2&#125;'&#124;sort&#124;tail -n 1&#124;awk '&#123;print $2&#125;'<br/>ps auxw --sort=%cpu&#124;awk '&#123;print $3" "$2&#125;'&#124;tail -n 1&#124;awk '&#123;print $2&#125;'<br/>【跟踪该进程的动作】<br/>strace -p `ps aux&#124;grep "^www "&#124;awk '&#123;print $3" " $2&#125;'&#124;sort&#124;tail -n 1&#124;awk '&#123;print $2&#125;'`<br/><br/>【修改mysql的max_connections的方法】<br/>mysqladmin variables &#124; grep max_connections&nbsp;&nbsp; ----查看数据库连接！<br/>set GLOBAL max_connections=4000<br/><br/>mysql -e "show full processlist;"<br/><br/>【#更改进程运行等级】<br/>renice -10 -p&nbsp;&nbsp;端口号<br/>如renice -10 –p 9199<br/><br/><br/>【查找死循环方法 】<br/>1 top -H -p 30420，所有该进程的线程都列出来了。看看哪个线程pid占用最多，然后将这个pid转换为16进制，如 44bf，注意要小写 <br/>3 jstack 30420 &#124; less，然后查找 nid=0x44bf，哦，找到了 <br/><br/>8283 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;15 -10 9363m 8.7g 9.9m R 99.9 74.6&nbsp;&nbsp; 4:56.66 java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/><br/>tomcat 的进程id 是&nbsp;&nbsp;24809 <br/><br/>ps -p 30285 -L -o lwp,time >30285_ps.log<br/>ps -p 19023 -L -o lwp,time >19023_zhushenserver1_ps.log<br/><br/><br/>jstack -l 30285&nbsp;&nbsp;>30285_jstack.log<br/>jstack -l 31401 >31401_jstack.log<br/><br/><br/>ps中的-L选项可以列出所有线程信息，-o lwp,time表示自定义输出，只输出两列，线程id和time值，<br/>time值表示该线程已经消耗的cpu时间，time 很长的话基本是死循环的<br/><br/>28010 00:00:00<br/>28150 01:21:35<br/>28335 00:00:00<br/><br/>28150 这个线程 可能是死循环线程<br/><br/><br/>再用jstack 24809 查找进程 详细信息&nbsp;&nbsp; 28150 十六进制 ===0x6df6<br/><br/>在jstack 输出信息里 找到&nbsp;&nbsp; nid=0x6df6&nbsp;&nbsp;这个线程 详细信息&nbsp;&nbsp;<br/>【com.t4game.webgm.zhushen.action.monitor.OnLineCountServlet】这个类中死循环<br/><br/><br/>"catalina-exec-226" daemon prio=10 tid=0x000000004dfcf000 nid=0x6df6 runnable [0x000000004a162000]<br/>&nbsp;&nbsp; java.lang.Thread.State: RUNNABLE<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Integer.parseInt(Integer.java:499)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at com.t4game.webgm.zhushen.action.monitor.OnLineCountServlet.doGet(OnLineCountServlet.java:149)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:416)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:354)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Thread.run(Thread.java:619)</span></span><br/>Tags - <a href="https://www.cnmysql.com/tags/%25E7%25B3%25BB%25E7%25BB%259F%25E7%25AE%25A1%25E7%2590%2586%25E3%2580%2581linux%25E6%258A%2580%25E5%25B7%25A7%25E3%2580%2581tar%25E3%2580%2581mysql%25E3%2580%2581rsync/" rel="tag">系统管理、linux技巧、tar、mysql、rsync</a>
]]>
</description>
</item><item>
<link>https://www.cnmysql.com/post//#blogcomment</link>
<title><![CDATA[[评论] 工作积累-备忘]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://www.cnmysql.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>