<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>爱周末 &#187; linux</title>
	<atom:link href="http://zhoumo123.cn/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://zhoumo123.cn</link>
	<description>知识分享，共同进步。zhoumo123.cn</description>
	<lastBuildDate>Thu, 07 Nov 2019 05:53:49 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0.1</generator>
	<item>
		<title>Linux  /lib/libudev.so 病毒清除 随机10字符病毒</title>
		<link>http://zhoumo123.cn/linux/3579.html</link>
		<comments>http://zhoumo123.cn/linux/3579.html#comments</comments>
		<pubDate>Mon, 20 Jun 2016 22:52:43 +0000</pubDate>
		<dc:creator><![CDATA[zhangc]]></dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[病毒]]></category>

		<guid isPermaLink="false">http://zhoumo123.cn/?p=3579</guid>
		<description><![CDATA[今天遇到连上网就CPU，网络爆满的情况，查看日志发现一直在启动/etc/cron.hourly/gcc.sh，然后去网上查了下，发现是中招了，最后按文章成功解决:) 其中许多是查找，解决基本上是删除gcc.sh等一些在init.d下的执行文件，还有crontab里的level3有个启动，再chattr +i /usr/bin锁定那些检测删除病毒主程序的东西， 这样就能rm删除掉主程序，find发现.Trash-0回收站里有被删除了本体，接着全部rm掉，最后chattr -i恢复后解决那些数字串的文件，查询一下就发现都被解决了！ 后续：之后系统一直稳定，无意中又在log中发现启动gcc.sh，查 ...  <a href="http://zhoumo123.cn/linux/3579.html">  阅读全文 </a>]]></description>
				<content:encoded><![CDATA[<p>今天遇到连上网就CPU，网络爆满的情况，查看日志发现一直在启动/etc/cron.hourly/gcc.sh，然后去网上查了下，发现是中招了，最后按文章成功解决:)</p>
<p>其中许多是查找，解决基本上是删除gcc.sh等一些在init.d下的执行文件，还有crontab里的level3有个启动，再chattr +i /usr/bin锁定那些检测删除病毒主程序的东西，</p>
<p>这样就能rm删除掉主程序，find发现.Trash-0回收站里有被删除了本体，接着全部rm掉，最后chattr -i恢复后解决那些数字串的文件，查询一下就发现都被解决了！</p>
<p>后续：之后系统一直稳定，无意中又在log中发现启动gcc.sh，查询过去发现在lib64中也有2个文件，不过这2个比较好搞定，再将删除后在.Trash-0里的也删除，init.d下也生成了一个新执行文件也一并删除。 看来得养成常看日志的好习惯阿。<br />
病毒表现：<br />
网络流量暴满，疯狂地向香港的一个IP发数据，同时在top里面表现为随机的10位字母的进程，看/proc里面的信息，则为ls，cd之类常见的命令，CPU利用率也在top之首。杀死该进程后，会再随机产生一个新的进程。</p>
<p>查找步骤：<br />
一、/proc/_pid/cmdline里面都是伪造的信息，ps显示的内容也一样，基本上为下面一些常见的命令，混淆管理员眼光查询线索，核验这一个，可以尝试把who等不常见的命令禁用执行权限，但随后却会发现该命令不停地出现在ps -Af里面：<br />
gnome-terminal<br />
ls -a<br />
route -n<br />
netstat -antop<br />
ifconfig<br />
sh<br />
cd /etc<br />
bash<br />
who<br />
cat resolv.conf<br />
ps -ef<br />
cat resolv.conf</p>
<p>由于大量的流量，先用iptables封住该IP，tcp连接不上后，它会改用udp向外发送，发送不出去后会进入监听状态，端口可以见下面的lsof结果。</p>
<p>二、ps -AfH，显示为以上的命令，但是ppid（父id）为1，则为init，所以这个应该是跟某个服务相关的。</p>
<p>ps -AfH<br />
root 17796 1 0 11:54 ? 00:00:00 route -n<br />
root 18008 1 0 11:55 ? 00:00:00 netstat -antop<br />
root 18011 1 0 11:55 ? 00:00:00 ifconfig<br />
root 18014 1 0 11:55 ? 00:00:00 sh<br />
root 18015 1 0 11:55 ? 00:00:00 cd /etc<br />
root 18016 1 0 11:55 ? 00:00:00 bash<br />
root 18028 1 0 11:55 ? 00:00:00 who<br />
root 18031 1 0 11:55 ? 00:00:00 cat resolv.conf<br />
root 18033 1 0 11:55 ? 00:00:00 ps -ef</p>
<p>用pstree可以看到真实的名字：</p>
<p>|-irqbalance &#8211;pid=/var/run/irqbalance.pid<br />
|-jbguikdekd<br />
|-jbguikdekd<br />
|-jbguikdekd<br />
|-jbguikdekd<br />
|-mingetty /dev/tty2<br />
|-mingetty /dev/tty3<br />
|-mingetty /dev/tty4<br />
|-mingetty /dev/tty5<br />
|-mingetty /dev/tty6</p>
<p>lsof 也可以持到具体的信息，同时还可以看到一个到103.240.141.54的tcp连接。<br />
三、在crontab的log里面，总显示执行了一个gcc.sh，经查找，是在/etc/cron.hourly/里面：</p>
<p># cat /etc/cron.hourly/gcc.sh<br />
#!/bin/sh<br />
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin<br />
for i in `cat /proc/net/dev|grep :|awk -F: {&#8216;print $1&#8242;}`; do ifconfig $i up&amp; done<br />
cp /lib/libudev.so /lib/libudev.so.6<br />
/lib/libudev.so.6</p>
<p>从这个地方可以看到病毒本体：/lib/libudev.so，这个文件看起来应该是一个库文件，但是用file查看，这个文件则为一个可执行文件，请注意下面的两个文件，一个为executable（可执行的），另一个则为正常的共享库（shared object）：</p>
<p># file libudev.so<br />
libudev.so: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.9, not stripped</p>
<p>正常的库文件应该为：</p>
<p># file libutil-2.12.so<br />
libutil-2.12.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped</p>
<p>把这个文件取消可执行权限，但是病毒故障依旧。<br />
四、因为这个病毒不断自我启动，并且父进程号为1，所以应该和init有关，所以查看/etc/init.d，发现里面果然有启动项，删除之。在/etc/rc.d/rc3.d/里面，也有类似的好几个启动项，一并删除。<br />
删除后，发现仍然不能杀死，杀死后马上重建一个新的，用lsof 查看：</p>
<p># lsof -R | grep &#8220;/usr/bin&#8221;<br />
top 9512 9478 root txt REG 253,0 63856 421158 /usr/bin/top<br />
fhmlrqtqv 17161 1 root txt REG 253,0 625729 393335 /usr/bin/fhmlrqtqvz<br />
fgqnvqzzc 17226 1 root txt REG 253,0 625740 393427 /usr/bin/fgqnvqzzck (deleted)<br />
fgqnvqzzc 17229 1 root txt REG 253,0 625740 393427 /usr/bin/fgqnvqzzck (deleted)<br />
fgqnvqzzc 17232 1 root txt REG 253,0 625740 393427 /usr/bin/fgqnvqzzck (deleted)<br />
fgqnvqzzc 17233 1 root txt REG 253,0 625740 393427 /usr/bin/fgqnvqzzck (deleted)<br />
fgqnvqzzc 17234 1 root txt REG 253,0 625740 393427 /usr/bin/fgqnvqzzck (deleted)<br />
# lsof -R<br />
fhmlrqtqv 17161 1 root cwd DIR 253,0 4096 2 /<br />
fhmlrqtqv 17161 1 root rtd DIR 253,0 4096 2 /<br />
fhmlrqtqv 17161 1 root txt REG 253,0 625729 393335 /usr/bin/fhmlrqtqvz<br />
fhmlrqtqv 17161 1 root 0u CHR 1,3 0t0 4023 /dev/null<br />
fhmlrqtqv 17161 1 root 1u CHR 1,3 0t0 4023 /dev/null<br />
fhmlrqtqv 17161 1 root 2u CHR 1,3 0t0 4023 /dev/null<br />
fhmlrqtqv 17161 1 root 3u IPv4 50163 0t0 UDP *:57331<br />
ynmsjtlpw 17272 1 root cwd DIR 253,0 4096 2 /<br />
ynmsjtlpw 17272 1 root rtd DIR 253,0 4096 2 /<br />
ynmsjtlpw 17272 1 root txt REG 253,0 625751 393426 /usr/bin/ynmsjtlpwp (deleted)<br />
ynmsjtlpw 17272 1 root 0u CHR 1,3 0t0 4023 /dev/null<br />
ynmsjtlpw 17272 1 root 1u CHR 1,3 0t0 4023 /dev/null<br />
ynmsjtlpw 17272 1 root 2u CHR 1,3 0t0 4023 /dev/null<br />
ynmsjtlpw 17275 1 root cwd DIR 253,0 4096 2 /<br />
ynmsjtlpw 17275 1 root rtd DIR 253,0 4096 2 /<br />
五：再查init.d，发现在runlevel 3下有两个可疑的进程，这两个进程杀死后马上再启动，非常有嫌疑：</p>
<p>/usr/sbin/modem-manager<br />
/usr/sbin/wpa_supplicant</p>
<p>但是经过仔细的追查，却发现是由NetworkManager来启动的，在/var/log/messages里面可以看到相关的记录（话说差点远程把NetworkManager给干掉了！）<br />
六、再战lsof：<br />
再次快速重复查看：# lsof -R | grep &#8220;/usr/bin&#8221;，发现主进程不变，总是产生几个辅进程，并且一直处于dedeted状态，这说明主进程会快速产生几个子进程，然后这些进程之间相互检测，一旦检测到病毒主体被删除或更改，就会再产生一个。</p>
<p>解决：<br />
１、先删除掉init系统的启动项目，这样保证init不会主动启动病毒，同时这些监控进程不去检测init中的项目是否被删除，否则又会加大点麻烦；<br />
２、再禁掉crontab里面的东西，保证不自动启动；<br />
３、执行：chmod 000 /usr/bin/xxxxxxx &amp;&amp; chattr +i /usr/bin<br />
这个命令是复合命令，先禁止执行，再锁定/usr/bin，这样保证新产生的病毒写不到里面去。<br />
４、杀掉主进程，删除病毒主体。<br />
５、检查无误后，解开/usr/bin，删除掉可能产生的其他病毒体。<br />
总结：<br />
１、/proc里面的东西是可以更改的；<br />
２、lsof还比较忠诚，不直接读取/proc里面的信息，ps看到的就不一定真实，top看到的进程还是正确的。</p>
<p>附：find -o参数就是逻辑运算的or</p>
<p>http://blog.csdn.net/zj123259785/article/details/47820073</p>
]]></content:encoded>
			<wfw:commentRss>http://zhoumo123.cn/linux/3579.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>centos7安装redis 命令安装与编译安装</title>
		<link>http://zhoumo123.cn/linux/3248.html</link>
		<comments>http://zhoumo123.cn/linux/3248.html#comments</comments>
		<pubDate>Mon, 31 Aug 2015 01:48:47 +0000</pubDate>
		<dc:creator><![CDATA[zhangc]]></dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[redis]]></category>

		<guid isPermaLink="false">http://zhoumo123.cn/?p=3248</guid>
		<description><![CDATA[方法一：使用命令安装（前提是已经安装了EPEL）。 安装redis: yum -y install redis 启动/停止/重启 Redis 启动服务： 1 systemctl start redis.service 停止服务： systemctl stop redis.service 重启服务： systemctl restart redis.service 检查状态： [root@idoseek ~]# systemctl status redis.service redis.service &#8211; Redis persistent key-value database Loade ...  <a href="http://zhoumo123.cn/linux/3248.html">  阅读全文 </a>]]></description>
				<content:encoded><![CDATA[<p><strong>方法一：使用命令安装（前提是已经安装了EPEL）。</strong></p>
<p>安装redis:</p>
<p><span style="color: #ff0000;">yum -y install redis</span></p>
<p>启动/停止/重启 Redis<br />
<strong>启动服务：</strong><br />
1<br />
systemctl start redis.service</p>
<p><strong>停止服务：</strong></p>
<p>systemctl stop redis.service</p>
<p><strong>重启服务：</strong></p>
<p>systemctl restart redis.service</p>
<p><strong>检查状态：</strong></p>
<p>[root@idoseek ~]# systemctl status redis.service<br />
redis.service &#8211; Redis persistent key-value database<br />
Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled)<br />
Active: active (running) since 二 2014-10-21 21:37:22 EDT; 5h 26min ago<br />
Main PID: 30413 (redis-server)<br />
CGroup: /system.slice/redis.service<br />
└─30413 /usr/bin/redis-server 127.0.0.1:6379</p>
<p>10月 21 21:37:22 idoseek.com systemd[1]: Started Redis persistent key-value database.</p>
<p><strong>随系统启动服务：</strong></p>
<p>[root@idoseek ~]# systemctl enable redis.service<br />
ln -s &#8216;/usr/lib/systemd/system/redis.service&#8217; &#8216;/etc/systemd/system/multi-user.target.wants/redis.service&#8217;</p>
<p><strong>关闭随机启动：</strong></p>
<p>[root@idoseek ~]# systemctl disable redis.service<br />
rm &#8216;/etc/systemd/system/mult(www.111cn.net)i-user.target.wants/redis.service&#8217;</p>
<p><strong>方法二：编译安装</strong></p>
<p><strong>下载安装编译:</strong></p>
<p># wget http://download.redis.io/releases/redis-2.8.17.tar.gz<br />
# tar xzf redis-2.8.17.tar.gz<br />
# cd redis-2.8.17<br />
# make<br />
# make install</p>
<p><strong>设置配置文件路径:</strong></p>
<p># mkdir -p /etc/redis &amp;&amp; cp redis.conf /etc/redis</p>
<p><strong>修改配置文件：</strong></p>
<p># vim /etc/redis/redis.conf<br />
修改为： daemonize yes<br />
<strong>启动Redis:</strong></p>
<p># /usr/local/bin/redis-server /etc/redis/redis.conf<br />
#关闭服务</p>
<p>redis-cli shutdown</p>
<p>或者在cli中执行shutdown</p>
<p>redis 127.0.0.1:6379&gt; shutdown</p>
<p><strong>清除缓存</strong></p>
<p>redis-cli flushall</p>
<p>更多文档请参考软件包内的“README”文件。<br />
查看状态 ：</p>
<p># ss -nlp|grep redis</p>
<p>或者</p>
<p># ps -ef | grep redis</p>
<p>下面介绍为PHP添加redis插件。</p>
<p>从官网下载最新的拓展，地址：http://pecl.php.net/package/redis或者https://github.com/phpredis/phpredis</p>
<p>#wget http://pecl.php.net/get/redis-2.2.5.tgz<br />
#phpize<br />
#./configure &#8211;prefix=/opt/redis &#8211;enable-redis &#8211;with-php-config=/opt/php/bin/php-config<br />
#make &amp;&amp; make install</p>
<p>把拓展添加至php.ini，重启php-fpm：</p>
<p>service php-fpm restart<br />
from:http://www.111cn.net/sys/CentOS/85292.htm</p>
<p><strong>错误描述</strong></p>
<p>安装Redis 2.8.18时报错：</p>
<p>zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory<br />
zmalloc.h:55:2: error: #error &#8220;Newer version of jemalloc required&#8221;<br />
make[1]: *** [adlist.o] Error 1<br />
make[1]: Leaving directory `/data0/src/redis-2.6.2/src&#8217;<br />
make: *** [all] Error 2</p>
<p><strong>原因分析</strong></p>
<p>在README 有这个一段话。</p>
<p>Allocator<br />
&#8212;&#8212;&#8212;</p>
<p>Selecting a non-default memory allocator when building Redis is done by setting<br />
the `MALLOC` environment variable. Redis is compiled and linked against libc<br />
malloc by default, with the exception of jemalloc being the default on Linux<br />
systems. This default was picked because jemalloc has proven to have fewer<br />
fragmentation problems than libc malloc.</p>
<p>To force compiling against libc malloc, use:</p>
<p>% make MALLOC=libc</p>
<p>To compile against jemalloc on Mac OS X systems, use:</p>
<p>% make MALLOC=jemalloc<br />
说关于分配器allocator， 如果有MALLOC 这个 环境变量， 会有用这个环境变量的 去建立Redis。</p>
<p>而且libc 并不是默认的 分配器， 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。</p>
<p>但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数。</p>
<p>解决办法</p>
<p>make MALLOC=libc</p>
<p>http://my.oschina.net/ifraincoat/blog/499352</p>
]]></content:encoded>
			<wfw:commentRss>http://zhoumo123.cn/linux/3248.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>shell脚本中echo输出带颜色的内容背景</title>
		<link>http://zhoumo123.cn/linux/3132.html</link>
		<comments>http://zhoumo123.cn/linux/3132.html#comments</comments>
		<pubDate>Tue, 07 Jul 2015 15:13:10 +0000</pubDate>
		<dc:creator><![CDATA[zhangc]]></dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://zhoumo123.cn/?p=3132</guid>
		<description><![CDATA[shell脚本中echo显示内容带颜色显示,echo显示带颜色，需要使用参数-e 格式如下： 例如： 其中41的位置代表底色， 36的位置是代表字的颜色 注： 1、字背景颜色和文字颜色之间是英文的&#8221;&#8221; 2、文字颜色后面有个m 3、字符串前后可以没有空格，如果有的话，输出也是同样有空格 下面是相应的字和背景颜色，可以自己来尝试找出不同颜色搭配例 最后面控制选项说明 http://wyywei.blog.51cto.com/65282/1671843]]></description>
				<content:encoded><![CDATA[<p>shell脚本中echo显示内容带颜色显示,echo显示带颜色，需要使用参数-e</p>
<p><strong>格式如下：</strong></p>
<pre class="brush: php; title: ; notranslate">
echo -e &quot;&#92;&#48;33[字背景颜色；文字颜色m字符串&#92;&#48;33[0m&quot;
</pre>
<p>例如：</p>
<pre class="brush: php; title: ; notranslate">
echo -e &quot;&#92;&#48;33[41;36m something here &#92;&#48;33[0m&quot;
</pre>
<p>其中41的位置代表底色， 36的位置是代表字的颜色<br />
注：<br />
1、字背景颜色和文字颜色之间是英文的&#8221;&#8221;<br />
2、文字颜色后面有个m<br />
3、字符串前后可以没有空格，如果有的话，输出也是同样有空格</p>
<p>下面是相应的字和背景颜色，可以自己来尝试找出不同颜色搭配例</p>
<pre class="brush: php; title: ; notranslate">
echo -e “&#92;&#48;33[31m 红色字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[34m ***字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[41;33m 红底黄字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[41;37m 红底白字 &#92;&#48;33[0m”
字颜色：30—–37

</pre>
<pre class="brush: php; title: ; notranslate">
echo -e “&#92;&#48;33[30m 黑色字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[31m 红色字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[32m 绿色字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[33m ***字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[34m 蓝色字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[35m 紫色字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[36m 天蓝字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[37m 白色字 &#92;&#48;33[0m”


字背景颜色范围：40—–47

</pre>
<pre class="brush: php; title: ; notranslate">
echo -e “&#92;&#48;33[40;37m 黑底白字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[41;37m 红底白字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[42;37m 绿底白字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[43;37m 黄底白字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[44;37m 蓝底白字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[45;37m 紫底白字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[46;37m 天蓝底白字 &#92;&#48;33[0m”
echo -e “&#92;&#48;33[47;30m 白底黑字 &#92;&#48;33[0m”
</pre>
<p>最后面控制选项说明</p>
<pre class="brush: php; title: ; notranslate">
\33[0m 关闭所有属性
\33[1m 设置高亮度
\33[4m 下划线
\33[5m 闪烁
\33[7m 反显
\33[8m 消隐
\33[30m — \33[37m 设置前景色
\33[40m — \33[47m 设置背景色
\33[nA 光标上移n行
\33[nB 光标下移n行
\33[nC 光标右移n行
\33[nD 光标左移n行
\33[y;xH设置光标位置
\33[2J 清屏
\33[K 清除从光标到行尾的内容
\33[s 保存光标位置
\33[u 恢复光标位置
\33[?25l 隐藏光标
\33[?25h 显示光标

</pre>
<p>http://wyywei.blog.51cto.com/65282/1671843</p>
]]></content:encoded>
			<wfw:commentRss>http://zhoumo123.cn/linux/3132.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下安装配置php的mysql扩展</title>
		<link>http://zhoumo123.cn/php/3130.html</link>
		<comments>http://zhoumo123.cn/php/3130.html#comments</comments>
		<pubDate>Tue, 07 Jul 2015 15:04:39 +0000</pubDate>
		<dc:creator><![CDATA[zhangc]]></dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Mysql安装]]></category>

		<guid isPermaLink="false">http://zhoumo123.cn/?p=3130</guid>
		<description><![CDATA[安装PHP扩展，已经有太多人写过了，随便百度、谷歌一下，都可以查到各种PHP扩展的安装方法，今天我要写的是，在本地没有安装msyql应用的情况下，如何安装配置php的mysql扩展。首先说说为什么会有这种需求吧，今年可以说是VPS，即云主机开始最火的一年，很多小公司及个人，都大量购买云主机，云数据库等等。当我们的网站或者应用系统，使用RDS即阿里云的云数据库的时候，我们的云主机是不需要安装mysql的，因为我们要做分布式的系统架构，即每台服务器，只跑一个专门的应用。好了，说了这么多，下面我们来开始安装及配置PHP的mysql扩展吧。 一、下载或者上传php程序 wget http://cn2. ...  <a href="http://zhoumo123.cn/php/3130.html">  阅读全文 </a>]]></description>
				<content:encoded><![CDATA[<p>安装PHP扩展，已经有太多人写过了，随便百度、谷歌一下，都可以查到各种PHP扩展的安装方法，今天我要写的是，在本地没有安装msyql应用的情况下，如何安装配置php的mysql扩展。首先说说为什么会有这种需求吧，今年可以说是VPS，即云主机开始最火的一年，很多小公司及个人，都大量购买云主机，云数据库等等。当我们的网站或者应用系统，使用RDS即阿里云的云数据库的时候，我们的云主机是不需要安装mysql的，因为我们要做分布式的系统架构，即每台服务器，只跑一个专门的应用。好了，说了这么多，下面我们来开始安装及配置PHP的mysql扩展吧。</p>
<p><strong>一、下载或者上传php程序</strong><br />
wget http://cn2.php.net/distributions/php-5.5.26.tar.gz<br />
tar xzvf php-5.5.26.tar.gz<br />
cd php-5.5.26/ext/mysql/<br />
其实之前我们已经安装过PHP了，直接进入您源码存放的相应路径即可；</p>
<p><strong>二、环境准备</strong><br />
在正式安装前，我们需要先安装mysql的头文件，否则在配置(configure)的时候会报错；<br />
yum -y install mysql-devel</p>
<p>注：如果是64位的操作系统的话，还需要做个软链接，否则在配置(configure)的时候会报错找不到lib文件，即：<br />
ln -s /usr/lib64/mysql /usr/lib/mysql</p>
<p><strong>三、安装</strong><br />
由于我之前安装的php源码是放在root目录下，php安装到/usr/local/php 所以：<br />
cd /root/php-5.5.26/ext/mysql<br />
/usr/local/php/bin/phpize<br />
./configure &#8211;with-php-config=/usr/local/php/bin/php-config &#8211;with-mysql=/usr<br />
make<br />
make install</p>
<p><strong>四、配置</strong><br />
安装结束时，系统会提示您新安装的扩展文件存放的相关路径，我们只要编辑php.ini文件，加下如下内容即可：<br />
extension=mysql.so</p>
<p>最后重启 php-fpm及nginx或者apache服务生效即可；</p>
<p>http://63638790.blog.51cto.com/513514/1671677</p>
]]></content:encoded>
			<wfw:commentRss>http://zhoumo123.cn/php/3130.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux文件系统目录详解根目录 etc usr目录</title>
		<link>http://zhoumo123.cn/linux/3128.html</link>
		<comments>http://zhoumo123.cn/linux/3128.html#comments</comments>
		<pubDate>Tue, 07 Jul 2015 14:58:06 +0000</pubDate>
		<dc:creator><![CDATA[zhangc]]></dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://zhoumo123.cn/?p=3128</guid>
		<description><![CDATA[&#160; /根目录 /boot 系统启动相关的文件，如内核、initrd，以及grub（bootloader） /dev 设备文件 块设备：随机访问,数据块 字符设备：线性访问。 /etc 系统全局配置文件 /home 普通用户的家目录,每一个普通用户的家目录通常默认为/home/USERNAME /root 管理员用户的家目录 /lib 库文件：静态库.a 动态库.so(shared object) /lib/modules:内核模块文件 /media 挂在点目录，移动设置 /mnt 额外点目录，额外的临时文件系统 /opt 可选目录，第三方程序厂商驱动程序 /proc 伪文件系统，内核 ...  <a href="http://zhoumo123.cn/linux/3128.html">  阅读全文 </a>]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<p><strong>/根目录</strong></p>
<p>/boot 系统启动相关的文件，如内核、initrd，以及grub（bootloader）<br />
/dev 设备文件 块设备：随机访问,数据块 字符设备：线性访问。<br />
/etc 系统全局配置文件<br />
/home 普通用户的家目录,每一个普通用户的家目录通常默认为/home/USERNAME<br />
/root 管理员用户的家目录<br />
/lib 库文件：静态库.a 动态库.so(shared object) /lib/modules:内核模块文件<br />
/media 挂在点目录，移动设置<br />
/mnt 额外点目录，额外的临时文件系统<br />
/opt 可选目录，第三方程序厂商驱动程序<br />
/proc 伪文件系统，内核映射文件<br />
/sys 伪文件系统，跟硬件设备相关的属性映射文件<br />
/tmp 临时文件,/var/tmp<br />
/var 可变化的文件,一般为日志文件存放目录。<br />
/bin 可执行文件，用户命令<br />
/sbin 管理员才可执行命令<br />
/usr 全局的共享只读文件 shared,read-only<br />
/usr/local 本地数据存放目录</p>
<p><strong>/etc/目录</strong><br />
/etc/sysconfig/network-scripts/ifcfg-eth0 网卡路径,修改完重启生效。<br />
/etc/init.d/network restart 重启网卡 —&gt;配置文件onBOOT=yes需打开<br />
ifdown eth0 &amp;&amp; ifup eth0 关闭和启动网卡 查看网卡:ifconfig<br />
/etc/sysconfig/network 修改主机名的配置文件,也可以配置网关, HOSTNAME=NAME<br />
hostname xuliangwei.com 临时生效<br />
/etc/hosts 静态主机查询</p>
<p>Host在企业里作用<br />
1.开发、产品、测试等人员,用于通过正式的域名测试产品。<br />
2.服务器之间的调用,可以用域名(内部DNS)方便迁移。<br />
/etc/resolv.conf Dns客户端配置文件,如果在网卡配置了dns,优先于网卡<br />
/etc/fstab 开机自动挂载磁盘</p>
<p>1.设备<br />
2.挂载点<br />
3.文件系统类型<br />
4.挂载的选项<br />
5.备份 0不备份<br />
6.开机检测磁盘 0不扫描</p>
<p>/etc/rc.local 服务器档案文件,所有程序开机启动可以放入/etc/rc.local<br />
/etc/initttab 控制开机默认启动级别<br />
/etc/init.d 启动脚本的路径<br />
/etc/profile 系统环境变量<br />
/etc/profile.d 程序或脚本(重新登录会执行)登录后执行的脚本所在地<br />
/etc/passwd 用户数据库文件,用户名,家目录,加密的口令或者其他<br />
/etc/shadow 影子口令文件,用户密码存放至此,只对root可读,使破译口令更难<br />
/etc/group 用户组数据库文件<br />
/etc/gshadow 组密码文件<br />
/etc/sudoers 可以sudo命令的配置文件 -c检测语法</p>
<p><strong>/usr/目录</strong><br />
/usr/src 源代码,内核源代码存放位置<br />
/usr/local 编译安装,存放路径<br />
/usr/bin 二进制执行文件<br />
/usr/sbin 管理员使用的命令(二进制)<br />
/usr/lib 存放一些常用的动态链接共享库和静态档案库；<br />
/usr/local/src 源码包存放目录<br />
/usr/local/bin 源码编译存放二进制文件<br />
/usr/local/sbin 源码编译二进制文件管理员可执行<br />
/usr/local/lib 源码文件二进制的库</p>
<p><strong>/var/目录</strong><br />
/var/log/messages 系统日志<br />
/var/log/secure 系统安全日志(安全监测)<br />
/var/spool/cron/root 定时任务crond配置文件<br />
/var/spool/clientmqueue/ 当邮件服务未开启时，所有应发给系统管理员的邮件都将堆放在此<br />
/var/spool/mail/ 邮件目录</p>
<p><strong>/proc/目录</strong><br />
虚拟文件系统，将内核与进程状态归档为文本文件（系统信息都存放这目录下）。<br />
/proc/meminfo 查看内存信息<br />
/proc/loadavg 查看负载信息<br />
/proc/uptime 就是用 uptime 的时候，会出现的资讯啦！<br />
/proc/cpuinfo 查看CPU信息,类型,厂家和性能等</p>
<p><strong>Linux命名规则</strong><br />
1、长度不能超过255字符<br />
2、不能使用/当文件名<br />
3、严格区分大小写</p>
<p>http://liangweilinux.blog.51cto.com/8340258/1670600</p>
]]></content:encoded>
			<wfw:commentRss>http://zhoumo123.cn/linux/3128.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux 新建文件夹命令linux mkdir 命令</title>
		<link>http://zhoumo123.cn/linux/2611.html</link>
		<comments>http://zhoumo123.cn/linux/2611.html#comments</comments>
		<pubDate>Tue, 07 Apr 2015 03:40:28 +0000</pubDate>
		<dc:creator><![CDATA[zhangc]]></dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://zhoumo123.cn/?p=2611</guid>
		<description><![CDATA[在linux下如何通过命令来新建文件夹呢？一起看下linux mkdir 命令的使用： linux mkdir 命令用来创建指定的名称的目录，要求创建目录的用户在当前目录中具有写权限，并且指定的目录名不能是当前目录中已有的目录。 1．命令格式： mkdir [选项] 目录&#8230; 2．命令功能： 通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且，所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名，即同一个目录下不能有同名的(区分大小写)。 3．命令参数：  ...  <a href="http://zhoumo123.cn/linux/2611.html">  阅读全文 </a>]]></description>
				<content:encoded><![CDATA[<p>在linux下如何通过命令来新建文件夹呢？一起看下linux mkdir 命令的使用：</p>
<p>linux mkdir 命令用来创建指定的名称的目录，要求创建目录的用户在当前目录中具有写权限，并且指定的目录名不能是当前目录中已有的目录。</p>
<p><strong>1．命令格式：</strong><br />
mkdir [选项] 目录&#8230;</p>
<p><strong>2．命令功能：</strong><br />
通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且，所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名，即同一个目录下不能有同名的(区分大小写)。</p>
<p><strong>3．命令参数：</strong><br />
-m, &#8211;mode=模式，设定权限&lt;模式&gt; (类似 chmod)，而不是 rwxrwxrwx 减 umask<br />
-p, &#8211;parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;<br />
-v, &#8211;verbose 每次创建新目录都显示信息<br />
&#8211;help 显示此帮助信息并退出<br />
&#8211;version 输出版本信息并退出</p>
<p><strong>4．命令实例：</strong></p>
<p><strong>实例1：创建一个空目录</strong><br />
命令：<br />
mkdir test1<br />
输出：<br />
[root@localhost soft]# cd test<br />
[root@localhost test]# mkdir test1<br />
[root@localhost test]# ll<br />
总计 4drwxr-xr-x 2 root root 4096 10-25 17:42 test1<br />
[root@localhost test]#</p>
<p><strong>实例2：递归创建多个目录</strong><br />
命令：<br />
mkdir -p test2/test22<br />
输出：<br />
[root@localhost test]# mkdir -p test2/test22<br />
[root@localhost test]# ll<br />
总计 8drwxr-xr-x 2 root root 4096 10-25 17:42 test1<br />
drwxr-xr-x 3 root root 4096 10-25 17:44 test2<br />
[root@localhost test]# cd test2/<br />
[root@localhost test2]# ll<br />
总计 4drwxr-xr-x 2 root root 4096 10-25 17:44 test22<br />
[root@localhost test2]#</p>
<p><strong>实例3：创建权限为777的目录</strong><br />
命令：<br />
mkdir -m 777 test3<br />
输出：<br />
[root@localhost test]# mkdir -m 777 test3<br />
[root@localhost test]# ll<br />
总计 12drwxr-xr-x 2 root root 4096 10-25 17:42 test1<br />
drwxr-xr-x 3 root root 4096 10-25 17:44 test2<br />
drwxrwxrwx 2 root root 4096 10-25 17:46 test3<br />
[root@localhost test]#<br />
说明：<br />
test3 的权限为rwxrwxrwx</p>
<p><strong>实例4：创建新目录都显示信息</strong><br />
命令：<br />
mkdir -v test4<br />
输出：<br />
[root@localhost test]# mkdir -v test4<br />
mkdir: 已创建目录 “test4”<br />
[root@localhost test]# mkdir -vp test5/test5-1<br />
mkdir: 已创建目录 “test5”<br />
mkdir: 已创建目录 “test5/test5-1”<br />
[root@localhost test]#</p>
<p><strong>实例五：一个命令创建项目的目录结构</strong><br />
参考：http://www.ibm.com/developerworks/cn/aix/library/au-badunixhabits.html<br />
命令：<br />
mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}<br />
输出：<br />
[root@localhost test]# mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}<br />
mkdir: 已创建目录 “scf”<br />
mkdir: 已创建目录 “scf/lib”<br />
mkdir: 已创建目录 “scf/bin”<br />
mkdir: 已创建目录 “scf/doc”<br />
mkdir: 已创建目录 “scf/doc/info”<br />
mkdir: 已创建目录 “scf/doc/product”<br />
mkdir: 已创建目录 “scf/logs”<br />
mkdir: 已创建目录 “scf/logs/info”<br />
mkdir: 已创建目录 “scf/logs/product”<br />
mkdir: 已创建目录 “scf/service”<br />
mkdir: 已创建目录 “scf/service/deploy”<br />
mkdir: 已创建目录 “scf/service/deploy/info”<br />
mkdir: 已创建目录 “scf/service/deploy/product”<br />
[root@localhost test]# tree scf/<br />
scf/<br />
|&#8211; bin<br />
|&#8211; doc<br />
| |&#8211; info<br />
| `&#8211; product<br />
|&#8211; lib<br />
|&#8211; logs<br />
| |&#8211; info<br />
| `&#8211; product<br />
`&#8211; service<br />
`&#8211; deploy<br />
|&#8211; info<br />
`&#8211; product<br />
12 directories, 0 files<br />
[root@localhost test]#<br />
原文：http://www.cnblogs.com/peida/archive/2012/10/25/2738271.html</p>
]]></content:encoded>
			<wfw:commentRss>http://zhoumo123.cn/linux/2611.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux svn服务器部署linux svn备份与恢复</title>
		<link>http://zhoumo123.cn/linux/2405.html</link>
		<comments>http://zhoumo123.cn/linux/2405.html#comments</comments>
		<pubDate>Sat, 10 Jan 2015 14:40:29 +0000</pubDate>
		<dc:creator><![CDATA[zhangc]]></dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://zhoumo123.cn/?p=2405</guid>
		<description><![CDATA[一、linux svn服务器部署 1、安装svn [root@yang~]#yum install -y subversion [root@yang~]#svnserve&#8211;version svnserve,version 1.6.11 (r934486) 2、创建SVN版本库 [root@yang~]# mkdir /data/svn [root@yang~]# svnadmin create /data/svn/project [root@yangproject]# ls /data/svn/project/ conf db format hooks locks README.t ...  <a href="http://zhoumo123.cn/linux/2405.html">  阅读全文 </a>]]></description>
				<content:encoded><![CDATA[<p><strong>一、linux svn服务器部署</strong></p>
<p><strong>1、安装svn</strong><br />
[root@yang~]#yum install -y subversion<br />
[root@yang~]#svnserve&#8211;version<br />
svnserve,version 1.6.11 (r934486)</p>
<p><strong>2、创建SVN版本库</strong><br />
[root@yang~]# mkdir /data/svn<br />
[root@yang~]# svnadmin create /data/svn/project<br />
[root@yangproject]# ls /data/svn/project/<br />
conf db format hooks locks README.txt</p>
<p><strong>3、配置SVN</strong><br />
[root@yangproject]# cd /data/svn/project/conf/<br />
[root@yangconf]# ls<br />
authz passwd svnserve.conf</p>
<p><strong>文件说明：</strong><br />
1）svnserve.conf： svn服务配置文件下。<br />
2）passwd： 用户名密码文件。<br />
3）authz： svn权限配置文件。</p>
<p><strong>svnserve.conf文件</strong><br />
<strong> 该文件配置项分为以下5项：</strong><br />
anon-access： 控制非鉴权用户访问版本库的权限。<br />
auth-access： 控制鉴权用户访问版本库的权限。<br />
password-db： 指定用户名口令文件名。<br />
authz-db： 指定权限配置文件名，通过该文件可以实现以路径为基础的访问控制。<br />
realm： 指定版本库的认证域，即在登录时提示的认证域名称。若两个版本库的认证域相同，建议使用相同的用户名口令数据文件</p>
<p><strong>配置如下：</strong><br />
[root@yangconf]# grep -E &#8220;anon-access =|auth-access =|password-db =|authz-db =|realm=&#8221; svnserve.conf<br />
anon-access = none<br />
auth-access = write<br />
password-db = passwd<br />
authz-db = authz<br />
realm = /data/svn/project</p>
<p><strong>passwd文件</strong><br />
作用是配置用户名和密码<br />
[root@yangconf]# cat passwd<br />
[users]<br />
yangyun= yangyunpasswd<br />
test = testpasswd</p>
<p><strong>authz文件</strong><br />
配置用户访问权限<br />
[root@yangconf]# cat authz |grep -v &#8216;#&#8217;<br />
[aliases]<br />
[groups]<br />
project_w=yangyun<br />
project_r=test<br />
[/]<br />
project_w=rw<br />
project_r=r</p>
<p><strong>4、启动svn服务</strong><br />
[root@yangconf]# svnserve -d -r /data/svn</p>
<p><strong>5、初始化svn数据</strong><br />
[root@yangdjango]# svn import mysite file:///data/svn/project/ -m &#8216;initial import&#8217;<br />
将会拷贝目录mysite到版本库的project下<br />
[root@yangdjango]# svn list file:///data/svn/project<br />
manage.py<br />
mysite/<br />
static/<br />
templates/<br />
web02/<br />
在导入之后，原来的目录树并没有转化成工作拷贝，为了开始工作，还是需要运行svn checkout导出一个工作拷贝。</p>
<p><strong>二、linux svn客户端命令操作</strong></p>
<p><strong>1、将文件checkout到本地目录</strong><br />
svn checkout path（path是服务器上的目录）<br />
简写：svn co<br />
例：<br />
svn co svn://115.28.24.178/project &#8211;username=yangyun &#8211;password=yangyunpasswd<br />
#指定版本的文件<br />
svn co svn://115.28.24.178/project &#8211;username=yangyun &#8211;password=yangyunpasswd -r 5</p>
<p><strong>2、往本地版本库中添加新的文件</strong><br />
svn add file #此命令得在checkout出来的路径里才能操作<br />
例如：<br />
cp /root/123.txt./<br />
svn add 123.txt #把123.txt加入到本地库中<br />
A 123.txt</p>
<p><strong>3、将改动的文件提交到版本库</strong><br />
svn commit -m &#8220;LogMessage&#8221; [-N] [&#8211;no-unlock] PATH(如果选择了保锁，就使用&#8211;no-unlock开关)<br />
简写：svn ci<br />
例：<br />
svn commit 123.txt -m &#8216;add 123.txt&#8217; #只提交123.txt<br />
svn commit -m &#8216;add 123.txt&#8217; #默认提交当前目录下的所以文件<br />
svn commit *.txt -m &#8216;add 123.txt&#8217; #也可以正则匹配文件提交</p>
<p><strong>4、加锁/解锁</strong><br />
svn lock -m &#8220;LockMessage&#8221; [&#8211;force] PATH<br />
例如：<br />
svn lock -m &#8220;lock test file&#8221; test.php<br />
svn unlock PATH</p>
<p><strong>5、更新到某个版本</strong><br />
svn update -r m path<br />
例如：<br />
svn update如果后面没有目录，默认将当前目录以及子目录下的所有文件都更新到最新版本。<br />
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200<br />
svn update test.php(更新，于版本库同步。如果在提交的时候提示过期的话，是因为冲突，需要先update，修改文件，然后清除svn resolved，最后再提交commit<br />
简写：svn up</p>
<p><strong>6、删除文件</strong><br />
svn delete path -m &#8220;delete test fle&#8221;<br />
例如：svn delete svn://192.168.1.1/pro/domain/test.php -m &#8220;delete testfile&#8221;<br />
或者直接svn delete test.php 然后再svn ci -m &#8216;delete testfile‘，推荐使用这种<br />
简写：svn (del, remove, rm)</p>
<p><strong>7、查看日志</strong><br />
svn log path<br />
例如：svn log test.php 显示这个文件的所有修改记录，及其版本号的变化</p>
<p><strong>8、查看文件详细信息</strong><br />
svn infopath<br />
例如：svn info test.php #可知道路径版本，时间，提交者等信息</p>
<p><strong>9、比较差异</strong><br />
svn diff path(将修改的文件与基础版本比较)<br />
例如：svn diff test.php<br />
svn diff -r m:n path(对版本m和版本n比较差异)<br />
例如：svn diff -r 200:201 test.php #可知道修改了哪些内容<br />
简写：svn di</p>
<p><strong>10、将两个版本之间的差异合并到当前文件</strong><br />
svn merge -r m:n path<br />
例如：svn merge -r 200:205 test.php（将版本200与205之间的差异合并到当前文件，但是一般都会产生冲突，需要处理一下）</p>
<p><strong>11、SVN 帮助</strong><br />
svn help<br />
svn help ci</p>
<p><strong>12、版本库下的文件和目录列表</strong><br />
svn list path #显示path目录下的所有属于版本库的文件和目录<br />
简写：svn ls</p>
<p><strong>13、创建纳入版本控制下的新目录</strong><br />
svn mkdir:创建纳入版本控制下的新目录。<br />
用法:<br />
svn mkdirPATH #效果等同：mkdir test;svn add test;</p>
<p><strong>14、恢复本地修改</strong><br />
svn revert:恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。<br />
revert:<br />
用法: revert PATH&#8230;<br />
注意: 本子命令不会存取网络，并且会解除冲突的状况。但是它不会恢复被删除的目录</p>
<p><strong>三、linux svn备份与恢复</strong></p>
<p><strong>1、全量备份：</strong><br />
curr=`svnlook youngest /data/svn/project/` #此处是查询工程目录的最新版本<br />
svnadmin dump /data/svn/repos/test &#8211;revision 0:$cur &#8211;incremental &gt;0-&#8220;$curr&#8221;svn.bak<br />
echo $curr &gt;/tmp/svn_revision</p>
<p><strong>2、增量备份</strong><br />
old=`cat /tmp/svn_revision`<br />
new=`svnlook youngest /data/svn/project/`<br />
svnadmin dump /data/svn/repos/test &#8211;revision $old:$new &#8211;incremental &gt;$old&#8221;-&#8220;$new&#8221;svn.bak</p>
<p><strong>3、svn恢复</strong><br />
恢复顺序从低版本逐个恢复到高版本；即，先恢复最近的一次完整备份，然后恢复紧挨着这个文件的增量备份。<br />
cd /data/svn/repos/<br />
svnadmin create test2<br />
svnadmin load test2 &lt; /data/svnback/20110719/0-1112svn.bak<br />
svnadmin load test2 &lt; /data/svnback/20110719/1113-1120svn.bak</p>
<p>摘自：http://yangrong.blog.51cto.com/6945369/1600896</p>
]]></content:encoded>
			<wfw:commentRss>http://zhoumo123.cn/linux/2405.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>xtrabackup在线备份还原(不锁表)</title>
		<link>http://zhoumo123.cn/linux/2221.html</link>
		<comments>http://zhoumo123.cn/linux/2221.html#comments</comments>
		<pubDate>Wed, 10 Dec 2014 09:21:41 +0000</pubDate>
		<dc:creator><![CDATA[zhangc]]></dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://zhoumo123.cn/?p=2221</guid>
		<description><![CDATA[xtrabackup如何备份与还原呢，一起看下xtrabackup在线备份还原(不锁表)步骤如下： 安装配置xtrabackup tar zxvf percona-xtrabackup-2.0.7.tar.gz cd percona-xtrabackup-2.0.7 AUTO_DOWNLOAD=&#8221;yes&#8221; ./utils/build.sh 5.5 #5.5表示为数据库5.5版本,如果是5.6版本这里修改成5.6 安装完之后，建立软链接 # cp /root/soft/percona-xtrabackup-2.0.7/innobackupex /usr/local/mys ...  <a href="http://zhoumo123.cn/linux/2221.html">  阅读全文 </a>]]></description>
				<content:encoded><![CDATA[<p>xtrabackup如何备份与还原呢，一起看下xtrabackup在线备份还原(不锁表)步骤如下：</p>
<p><strong>安装配置xtrabackup</strong><br />
tar zxvf percona-xtrabackup-2.0.7.tar.gz<br />
cd percona-xtrabackup-2.0.7<br />
AUTO_DOWNLOAD=&#8221;yes&#8221; ./utils/build.sh 5.5<br />
#5.5表示为数据库5.5版本,如果是5.6版本这里修改成5.6</p>
<p><strong>安装完之后，建立软链接</strong><br />
# cp /root/soft/percona-xtrabackup-2.0.7/innobackupex /usr/local/mysql_p/bin/innobackupex<br />
# cp /root/soft/percona-xtrabackup-2.0.7/src/xtrabackup_innodb55 /usr/local/mysql_p/bin/xtrabackup_55<br />
# cp /root/soft/percona-xtrabackup-2.0.7/src/xtrabackup_innodb55 /usr/local/mysql_p/bin/xtrabackup</p>
<p><strong>然后添加环境变量</strong><br />
echo &#8220;PATH=\&#8221;/usr/local/mysql_p/bin:\$PATH\&#8221;&#8221; &gt;&gt; /etc/profile &amp;&amp; export PATH=&#8221;/usr/local/mysql_p/bin:$PATH&#8221;<br />
source /etc/profile</p>
<p><strong>#创建备份目录</strong><br />
mkdir -p /data/back_data/<br />
#默认存放数据目录是/data/mysqlp</p>
<p><strong>1.1备份所有数据库</strong><br />
#下面备份所有数据库到/data/back_data下面<br />
/usr/local/mysql_p/bin/innobackupex &#8211;defaults-file=/usr/local/mysql_p/etc/my.cnf &#8211;socket=/tmp/mysql.sock &#8211;user=root &#8211;password=123 /data/back_data/</p>
<p><strong>#恢复所有数据库</strong><br />
service mysqld stop #停止当前数据库<br />
rm -rf /data/mysqlp/* #清空数据目录<br />
/usr/local/mysql_p/bin/innobackupex &#8211;apply-log &#8211;redo-only &#8211;defaults-file=/usr/local/mysql_p/etc/my.cnf &#8211;user=root &#8211;password=123 /data/back_data/2013-12-06_15-17-59/<br />
/usr/local/mysql_p/bin/innobackupex &#8211;copy-back &#8211;redo-only &#8211;defaults-file=/usr/local/mysql_p/etc/my.cnf &#8211;user=root &#8211;password=123 /data/back_data/2013-12-06_15-17-59/<br />
chown mysql.mysql -R /data/mysqlp<br />
service mysqld start #重新启动数据库</p>
<p>&nbsp;</p>
<p><strong>1.2备份单个数据库</strong><br />
#下面备份liu数据库到/data/back_data下面<br />
/usr/local/mysql_p/bin/innobackupex &#8211;defaults-file=/usr/local/mysql_p/etc/my.cnf &#8211;socket=/tmp/mysql.sock &#8211;user=root &#8211;password=123 &#8211;database=liu /data/back_data/</p>
<p><strong>#恢复单个数据库</strong><br />
service mysqld stop #停止当前数据库<br />
/usr/local/mysql_p/bin/innobackupex &#8211;apply-log &#8211;redo-only &#8211;defaults-file=/usr/local/mysql_p/etc/my.cnf &#8211;user=root &#8211;password=123 /data/back_data/2013-12-09_03-00-01<br />
cp -a /data/back_data/2013-12-09_03-00-01/liu /data/mysqlp/<br />
cp -a /data/back_data/2013-12-09_03-00-01/ib* /data/mysqlp/<br />
chown -R mysql.mysql /data/mysqlp<br />
service mysqld start #重新启动数据库</p>
<p>本文出自 http://azhuang.blog.51cto.com/9176790/1587951</p>
]]></content:encoded>
			<wfw:commentRss>http://zhoumo123.cn/linux/2221.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux目录树:根目录、典型目录等详细说明</title>
		<link>http://zhoumo123.cn/linux/2217.html</link>
		<comments>http://zhoumo123.cn/linux/2217.html#comments</comments>
		<pubDate>Wed, 10 Dec 2014 09:12:57 +0000</pubDate>
		<dc:creator><![CDATA[zhangc]]></dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://zhoumo123.cn/?p=2217</guid>
		<description><![CDATA[Linux目录树:根目录、典型目录等详细说明 点评：目录树的主要部分有root（/）、/USR、/var、/home等等 目录树的主要部分有root（/）、/USR、/var、/home等等。下面是一个典型的linux目录结构如下： / 根目录 /bin 存放必要的命令 /boot 存放内核以及启动所需的文件等 /dev 存放设备文件 /etc 存放系统的配置文件 /home 用户文件的主目录，用户数据存放在其主目录中 /lib 存放必要的运行库 /mnt 存放临时的映射文件系统，我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。 /proc 存放存储进程和系统信息 /root  ...  <a href="http://zhoumo123.cn/linux/2217.html">  阅读全文 </a>]]></description>
				<content:encoded><![CDATA[<p><strong>Linux目录树:根目录、典型目录等详细说明</strong></p>
<p>点评：目录树的主要部分有root（/）、/USR、/var、/home等等<br />
目录树的主要部分有root（/）、/USR、/var、/home等等。下面是一个典型的linux目录结构如下：</p>
<p><strong>/ 根目录</strong><br />
/bin 存放必要的命令<br />
/boot 存放内核以及启动所需的文件等<br />
/dev 存放设备文件<br />
/etc 存放系统的配置文件<br />
/home 用户文件的主目录，用户数据存放在其主目录中<br />
/lib 存放必要的运行库<br />
/mnt 存放临时的映射文件系统，我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。<br />
/proc 存放存储进程和系统信息<br />
/root 超级用户的主目录<br />
/sbin 存放系统管理程序<br />
/tmp 存放临时文件的目录<br />
/usr 包含了一般不需要修改的应用程序，命令程序文件、程序库、手册和其它文档。<br />
/var 包含系统产生的经常变化的文件，例如打印机、邮件、新闻等假脱机目录、日志文件、格式化后的手册页以及一些应用程序的数据文件等等。建议单独的放在一个分区。[separator]</p>
<p><strong>典型的/usr目录如下：</strong></p>
<p>/X11R6 存放X Window系统<br />
/bin 存放增加的用户程序<br />
/dict 存放字典<br />
/doc 存放追加的文档<br />
/etc 存放设置文件<br />
/games 存放游戏和教学文件<br />
/include 存放C开发工具的头文件<br />
/info 存放GNU信息文件<br />
/lib 存放库文件<br />
/local 存放本地产生的增加的应用程序<br />
/man 存放在线帮助文件<br />
/sbin 存放增加的管理程序<br />
/share 存放结构独立的数据<br />
/src 存放程序的源代码</p>
<p>由于/usr中的文件不和特定的计算机相关，也不会在通常使用中修改，因此可以通过网络共享这个目录（文件系统），这样，当管理员安装了新的软件之后，所有共享这一文件系统的计算机均可以使用新的软件。<br />
Linux继承了unix操作系统结构清晰的特点。在linux下的文件结构非常有条理。但是，上述的优点只有在对linux相当熟悉时，才能体会到。现在，虫虫就把linux下的目录结构简单介绍一下。</p>
<p><strong>/vmlinuz</strong></p>
<p>我们已经知道，每一个linux都有一个内核（vmlinuz），我们在这个内核上添加上可以完成各种特定功能的模块，每个模块就体现在 linux中各种不同的目录上。当然，各种不同的发行套件，其目录有细小的差别，但主要结构都是一样的。我们还要将linux的功能模块和各种应用程序结合起来，这样，才能使你的 linux系统为你服务。在/vmlinuz目录下存放的就是系统的内核。还记得我们在配置Lilo时，提到过这个内核吗？</p>
<p><strong>/bin</strong></p>
<p>显而易见，bin 就是二进制（binary）英文缩写。在一般的系统当中，你都可以在这个目录下找到linux常用的命令。在有的版本中你还会找到一些和根目录下相同的目录。</p>
<p><strong>/boot</strong></p>
<p>在这个目录下存放的都是系统启动时要用到的程序。我们在使用lilo引导linux的时候，会用到这里的一些信息。</p>
<p><strong>/dev</strong></p>
<p>dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和我们常用的windows, dos操作系统不一样。它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部设备，和访问一个文件，一个目录没有任何区别。</p>
<p>例如：我们在系统中键入：cd /dev/cdrom 我们就可以看到光驱中的文件了。</p>
<p>同样道理，我们键入：cd /dev/mouse 就可以看看鼠标的相关文件。在这个目录下，有一个null设备，这个东西本身没有任何意义。如果你向这个目录写入文件或内容，他们统统有去无回。</p>
<p><strong>/cdrom</strong></p>
<p>这个目录在你刚刚安装系统的时候是空的。你可以将光驱文件系统挂在这个目录下。</p>
<p>例如：<strong>mount /dev/cdrom /cdrom</strong></p>
<p><strong>/etc</strong></p>
<p>etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。我们要用到的网络配置文件，文件系统，x系统配置文件，设备配置信息，设置用户信息等都在这个目录下。以后，虫虫还会详细讲解这个目录下的内容。</p>
<p><strong>/sbin</strong></p>
<p>这个目录是用来存放系统管理员的系统管理程序。</p>
<p><strong>/home</strong></p>
<p>如果我们建立一个用户，用户名是&#8221;xx&#8221;,那么在/home目录下就有一个对应的/home/xx路径，用来存放用户的主目录。</p>
<p><strong>/lib</strong></p>
<p>lib是库（library）英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此，千万不要轻易对这个目录进行什么操作，一旦发生问题，你的系统就不能工作了，到时候你别说虫虫没有提醒你呀。</p>
<p><strong>/lost+found</strong></p>
<p>这个目录在大多数情况下都是空的。但是如果你正在工作突然停电，或是没有用正常方式关机，在你重新启动机器的时候，有些文件就会找不到应该存放的地方，对于这些文件，系统将他们放在这个目录下，就象为无家可归的人提供一个临时住所。</p>
<p><strong>/mnt</strong></p>
<p>这个目录在一般情况下也是空的。你可以临时将别的文件系统挂在这个目录下。</p>
<p><strong>/proc</strong></p>
<p>可以在这个目录下获取系统信息。这些信息是在内存中，由系统自己产生的。</p>
<p><strong>/root</strong></p>
<p>如果你是以超级用户的身份登录的，这个就是超级用户的主目录。</p>
<p><strong>/tmp</strong></p>
<p>用来存放不同程序执行时产生的临时文件。</p>
<p><strong>/usr</strong></p>
<p>这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。</p>
]]></content:encoded>
			<wfw:commentRss>http://zhoumo123.cn/linux/2217.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux 不同网段pptp服务器的搭建</title>
		<link>http://zhoumo123.cn/linux/620.html</link>
		<comments>http://zhoumo123.cn/linux/620.html#comments</comments>
		<pubDate>Fri, 19 Sep 2014 22:42:17 +0000</pubDate>
		<dc:creator><![CDATA[zhangc]]></dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[pptp服务器]]></category>

		<guid isPermaLink="false">http://zhoumo123.cn/?p=620</guid>
		<description><![CDATA[pptp服务器 内网eth0:192.168.0.10/24 (192.168.0.1是网关) 公网eth1:xxx.xxx.xxx.xxx 用户端拔pptp后分配的ip：192.168.3.0/24 用户未拔pptp前使用的ip：192.168.5.0/24 #yum install ppp libcap-devel libcap #echo 1 &#62;/proc/sys/net/ipv4/ip_forward #wget http://nchc.dl.sourceforge.net/project/poptop/pptpd/pptpd-1.3.4/pptpd-1.3.4.tar.gz # ...  <a href="http://zhoumo123.cn/linux/620.html">  阅读全文 </a>]]></description>
				<content:encoded><![CDATA[<p><strong>pptp服务器</strong><br />
内网eth0:192.168.0.10/24 (192.168.0.1是网关)<br />
公网eth1:xxx.xxx.xxx.xxx<br />
用户端拔pptp后分配的ip：192.168.3.0/24<br />
用户未拔pptp前使用的ip：192.168.5.0/24</p>
<p>#yum install ppp libcap-devel libcap</p>
<p>#echo 1 &gt;/proc/sys/net/ipv4/ip_forward<br />
#wget http://nchc.dl.sourceforge.net/project/poptop/pptpd/pptpd-1.3.4/pptpd-1.3.4.tar.gz<br />
#tar zxf pptpd-1.3.4.tar.gz<br />
#cd pptpd-1.3.4<br />
#./configure &#8211;prefix=/usr/local/pptpd &#8211;enable-bcrelay &#8211;with-libwrap<br />
#make &amp;&amp; make install<br />
#cp pptpd-1.3.4/samples/pptpd.conf /etc/ppp/<br />
#cp pptpd-1.3.4/samples/options.pptpd /etc/ppp/<br />
#cp pptpd-1.3.4/samples/chap-secrets /etc/ppp/</p>
<p>#vim pptpd.conf<br />
ppp /usr/sbin/pppd<br />
option /etc/ppp/options.pptpd<br />
#debug<br />
# stimeout 10<br />
# logwtmp<br />
localip 客户端要访问的ip （pptp服务器ip ）<br />
remoteip 192.168.3.100-200 （用户端将分配的ip）<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
#vim options.pptpd<br />
name pptpd<br />
refuse-pap<br />
refuse-chap<br />
refuse-mschap<br />
require-mschap-v2<br />
require-mppe-128<br />
ms-dns 114.114.114.114 （给客户端分配的dns）<br />
proxyarp<br />
#debug<br />
dump<br />
lock<br />
nobsdcomp<br />
novj<br />
novjccomp<br />
nologfd<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
#vim chap-secrets<br />
# client server secret IP addresses<br />
#username pptpd password *</p>
<p>admin pptpd admin123 *<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>iptables设置<br />
iptables -A INPUT -j ACCEPT<br />
iptables -A FORWARD -j ACCEPT<br />
iptables -A OUTPUT -j ACCEPT<br />
iptables -A POSTROUTING -j MASQUERADE (关键)<br />
iptables -A POSTROUTING -s 192.168.3.0/24 -j SNAT &#8211;to-source 公网ip （关键）</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
路由设置<br />
eth0设置<br />
IPADDR=192.168.0.10<br />
NETMASK=255.255.255.0 (内网不设网关)</p>
<p>eth1设置<br />
IPADDR=XXX.XXX.XXX.XXX<br />
NETMASK=XXX.XXX.XXX.XXX<br />
GATEWAY=XXX.XXX.XXX.XXX （默认路由）<br />
加路由<br />
route add -net 192.168.5.0/24 gw 192.168.0.1<br />
route add -net 192.168.3.0/24 gw 192.168.0.1</p>
]]></content:encoded>
			<wfw:commentRss>http://zhoumo123.cn/linux/620.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
