??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美性受xxxx黑人猛交,亚洲精品一区二区三区蜜桃久 ,色网站国产精品http://www.aygfsteel.com/xiaomage234/category/28165.html生命本就是一ơ凄的漂流Q记忆中放不下的Q永q是孩提时代的那一份浪漫与U真Q?/description>zh-cnThu, 17 Sep 2015 07:12:17 GMTThu, 17 Sep 2015 07:12:17 GMT60linux nc(netcat)命o(h)详解http://www.aygfsteel.com/xiaomage234/archive/2015/09/16/427347.html马?/dc:creator>马?/author>Wed, 16 Sep 2015 01:01:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2015/09/16/427347.htmlhttp://www.aygfsteel.com/xiaomage234/comments/427347.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2015/09/16/427347.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/427347.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/427347.html
NetCatQ在|络工具中有ldquo;瑞士军刀rdquo;誉Q其有Windows和Linux的版本。因为它短小_?zhn)Q?.84版本也不q?5kQ旧版本或羃

NetCatQ在|络工具中有“瑞士军刀”誉Q其有Windows和Linux的版本。因为它短小_?zhn)Q?.84版本也不q?5kQ旧版本或羃减版甚至更小Q、功能实用,被设计ؓ(f)一个简单、可靠的|络工具Q可通过TCP或UDP协议传输d数据。同Ӟ它还是一个网l应用Debug分析器,因ؓ(f)它可以根据需要创建各U不同类型的|络q接?/p>

一、版?br />通常的Linux发行版中都带有NetCatQ简UncQ,甚至在拯救模式光盘中也由busybox提供?jin)简版的nc工具。但不同的版本,其参数的使用略有差异?br />NetCat 官方地址Q?/p>


引用[root@hatest1 ~]# cat /etc/asianux-release
Asianux release 2.0 (Trinity SP2)
[root@hatest1 ~]# cat /etc/redflag-release
Red Flag DC Server release 5.0 (Trinity SP2)
[root@hatest1 ~]# type -a nc
nc is /usr/bin/nc
[root@hatest1 ~]# rpm -q nc
nc-1.10-22

在用前Q先用man nc看看帮助。这里以U旗DC Server 5.0上的1.10版本q行单说明?br />假设?a style="text-decoration: none; color: blue;">服务?/a>信息Q?/p>

server1: 192.168.10.10
server2: 192.168.10.11

二、常见?br />1、远E拷贝文?br />从server1拯文g到server2上。需要先在server2上,Q用ncȀzȝ听,

server2上运行:(x) nc -l 1234 > text.txt

server1上运行:(x) nc 192.168.10.11 1234 < text.txt

注:(x)server2上的监听要先打开


2、克隆硬盘或分区
操作与上面的拯是雷同的Q只需要由dd获得盘或分区的数据Q然后传输即可?br />克隆盘或分区的操作Q不应在已经mount的的pȝ上进行。所以,需要用安装光盘引导后Q进入拯救模式(或用Knoppix工具光盘Q启动系l后Q在server2上进行类似的监听动作Q?/p>

 nc -l -p 1234 | dd of=/dev/sda

server1上执行传输,卛_完成从server1克隆sda盘到server2的Q务:(x)

 dd if=/dev/sda | nc192.168.10.11 1234

※ 完成上述工作的前提,是需要落实光盘的拯救模式支持服务?/a>上的|卡Qƈ正确配置IP?/p>

3、端口扫?br />可以执行Q?/p>

# nc -v -w 2 192.168.10.11 -z 21-24
nc: connect to 192.168.10.11 port 21 (tcp) failed: Connection refused
Connection to 192.168.10.11 22 port [tcp/ssh] succeeded!
nc: connect to 192.168.10.11 port 23 (tcp) failed: Connection refused
nc: connect to 192.168.10.11 port 24 (tcp) failed: Connection refused 
-z后面跟的是要扫描的端?/p>


4、保存Web面

# while true; do nc -l -p 80 -q 1 < somepage.html; done


5、模拟HTTP Headers

引用[root@hatest1 ~]# nc 80
GET / HTTP/1.1
Host: ispconfig.org
Referrer: mypage.com
User-Agent: my-browser

HTTP/1.1 200 OK
Date: Tue, 16 Dec 2008 07:23:24 GMT
Server: Apache/2.2.6 (Unix) DAV/2 mod_mono/1.2.1 mod_python/3.2.8 Python/2.4.3 mod_perl/2.0.2 Perl/v5.8.8
Set-Cookie: PHPSESSID=bbadorbvie1gn037iih6lrdg50; path=/
Expires: 0
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Cache-Control: private, post-check=0, pre-check=0, max-age=0
Set-Cookie: oWn_sid=xRutAY; expires=Tue, 23-Dec-2008 07:23:24 GMT; path=/
Vary: Accept-Encoding
Transfer-Encoding: chunked
Content-Type: text/html
[......]

在nc命o(h)后,输入U色部分的内容,然后按两ơ回车,卛_从对方获得HTTP Headers内容?/p>

6、聊?br />ncq可以作为简单的字符下聊天工具用,同样的,server2上需要启动监听:(x)

server2上启动:(x)# nc -lp 1234 
server1上传输:(x)# nc 192.168.10.11 1234


q样Q双方就可以怺交流?jin)。用Ctrl+D正常退出?/p>

7、传输目?br />从server1拯nginx-0.6.34目录内容到server2上。需要先在server2上,用ncȀzȝ听,

server2上运行:(x)# nc -l 1234 |tar xzvf -

server1上运行:(x)# tar czvf - nginx-0.6.34|nc 192.168.10.11 1234

 


8、用nc命名操作memcached

1Q存储数据:(x)printf “set key 0 10 6rnresultrn” |nc 192.168.10.11 11211
2Q获取数据:(x)printf “get keyrn” |nc 192.168.10.11 11211
3Q删除数据:(x)printf “delete keyrn” |nc 192.168.10.11 11211
4Q查看状态:(x)printf “statsrn” |nc 192.168.10.11 11211
5Q模拟top命o(h)查看状态:(x)watch “echo stats” |nc 192.168.10.11 11211
6Q清I缓存:(x)printf “flush_allrn” |nc 192.168.10.11 11211 (心(j)操作Q清IZ(jin)~存没?jin)?j)



]]>
linux mount 工作l服务器http://www.aygfsteel.com/xiaomage234/archive/2012/07/04/382197.html马?/dc:creator>马?/author>Wed, 04 Jul 2012 07:34:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2012/07/04/382197.htmlhttp://www.aygfsteel.com/xiaomage234/comments/382197.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2012/07/04/382197.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/382197.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/382197.html#!/bin/sh

defaultHost=//192.168.0.1/proj
defaultUserName=root
mountPath=/path/proj
host=$defaultHost
userName=$defaultUserName

if [ $# -eq 1 ]
then
    host=$1
    umount -l $mountPath
elif [ $# -eq 2 ]
then
    host=$1
    userName=$2
    umount -l $mountPath
elif [ $# -eq 3 ]
then
    host=$1
    userName=$2
    mountPath=$3
    umount -l $mountPath
fi
scmd="mount -t cifs -o user=$userName,password=workstation,rw,file_mode=0777,dir_mode=0777 $host $mountPath"
echo $scmd
eval $scmd


]]>
实用的shell脚本命o(h)和脚本【原创?/title><link>http://www.aygfsteel.com/xiaomage234/archive/2012/03/15/371968.html</link><dc:creator>马?/dc:creator><author>马?/author><pubDate>Thu, 15 Mar 2012 10:31:00 GMT</pubDate><guid>http://www.aygfsteel.com/xiaomage234/archive/2012/03/15/371968.html</guid><wfw:comment>http://www.aygfsteel.com/xiaomage234/comments/371968.html</wfw:comment><comments>http://www.aygfsteel.com/xiaomage234/archive/2012/03/15/371968.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xiaomage234/comments/commentRss/371968.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xiaomage234/services/trackbacks/371968.html</trackback:ping><description><![CDATA[<div><div>最常用?0大shell命o(h):</div> <div>1 grep key ./file* -IR</div> <div>2 find . -name "xxx" --exec rm -rf {} \;</div> <div>3 rsync -avP -e ssh --exclude="config" /src/* /dest/</div> <div>4 tail -5 /etc/passwd | awk -F: 'BEGIN{t=0}{t=t+$3}END{print t}'</div> <div>5 sed -i 's/abc/123/' tmp</div> <div>6 ps aux |grep mysql</div> <div>7 df  -lh</div> <div>8 du /usr/local/ -lh --max-depth=1</div> <div>9 cat /etc/passwd | sort |uniq -c |wc -l</div> <div>10 netstat -an | awk '/^tcp/ {++arr[$NF];++arr["TOTAL_REQ"]} END{for(key in arr)print key,"\t",arr[key]}' | sort<br /><br /><br /><br />试脚本:<br /><div></div><div>#!/bin/bash</div><div>#stat by datestr</div><div>function stathour()</div><div>{</div><div>    datestr=$1</div><div>    for file in `ls ./thumnail_log/TESTSERVER_downloadstat_${datestr}* | awk '{print $NF}'`</div><div>    do</div><div><span style="white-space:pre"> </span>echo $file<span style="white-space:pre"> </span></div><div><span style="white-space:pre"> </span>awk '{print $10}' $file |sort -n |uniq -c</div><div>    done</div><div>}</div><div></div><div>function statday()</div><div>{</div><div>    datestr=$1</div><div>    echo $datestr</div><div>    awk '{print $10}' ./thumnail_log/TESTSERVER_downloadstat_${datestr}* |sort -n |uniq -c</div><div>}</div><div></div><div>function statperson()</div><div>{</div><div>    datestr=$1</div><div>    echo $datestr</div><div>    awk '{if($10=1)print $1,$10}' ./thumnail_log/TESTSERVER_downloadstat_${datestr}* |sort -n |uniq -c |sort -n |wc -l</div><div>}</div><div></div><div>function getstartday()</div><div>{</div><div>    local startday=""</div><div>    if [ $# -lt 1 ]</div><div>    then</div><div>       startday="2012-03-09"</div><div>    else</div><div>       startday=$1</div><div>    fi</div><div>    echo $startday</div><div>}</div><div></div><div>today=`date -d "tomorrow" +'%Y-%m-%d'`</div><div></div><div>startday=`getstartday $1`</div><div>cmd=$2</div><div>if [ -z $2 ];then</div><div>    cmd="d"</div><div>fi</div><div>echo "cmd:$cmd"</div><div></div><div>while [ $startday != $today ]</div><div>do</div><div>   #echo $startday</div><div>   case $cmd in</div><div>      h) stathour $startday;;</div><div>      d) statday $startday;;</div><div>      p) statperson $startday;;</div><div>      *) echo 'wrong cmd!';;</div><div>   esac</div><div>   startday=$(date -d "$startday +1 day" +%Y-%m-%d)</div><div>done</div><div></div><div></div><div></div></div></div><img src ="http://www.aygfsteel.com/xiaomage234/aggbug/371968.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xiaomage234/" target="_blank">马?/a> 2012-03-15 18:31 <a href="http://www.aygfsteel.com/xiaomage234/archive/2012/03/15/371968.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux SHELL技?/title><link>http://www.aygfsteel.com/xiaomage234/archive/2009/03/02/257387.html</link><dc:creator>马?/dc:creator><author>马?/author><pubDate>Mon, 02 Mar 2009 10:02:00 GMT</pubDate><guid>http://www.aygfsteel.com/xiaomage234/archive/2009/03/02/257387.html</guid><wfw:comment>http://www.aygfsteel.com/xiaomage234/comments/257387.html</wfw:comment><comments>http://www.aygfsteel.com/xiaomage234/archive/2009/03/02/257387.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xiaomage234/comments/commentRss/257387.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xiaomage234/services/trackbacks/257387.html</trackback:ping><description><![CDATA[<p style="font-family: Arial"><font size="4">1.删除0字节文g<br /> <span id="wmqeeuq" class="t_tag" >find</span> -type f -size 0 -exec rm -rf {} \;<br /> <br /> 2.查看q程<br /> 按内存从大到排?br /> ps -e   -o "%C   : %p : %z : %a"|sort -k5 -nr<br /> <br /> 3.按cpu利用率从大到排?br /> ps -e   -o "%C   : %p : %z : %a"|sort   -nr<br /> <br /> 4.打印?span class="t_tag" >cache</span>里的URL<br /> grep -r -a   jpg /data/cache/* | strings | grep "http:" | <span id="wmqeeuq" class="t_tag" >awk</span> -F'http:' '{print "http:"$2;}'<br /> <br /> 5.查看http的ƈ发请求数?qing)其TCPq接<span id="wmqeeuq" class="t_tag" >状?/span>Q?br /> netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'<br /> <br /> <br /> 6. <span id="wmqeeuq" class="t_tag" >sed</span> -i '/Root/s/no/yes/' /etc/<span id="wmqeeuq" class="t_tag" >ssh</span>/sshd_config   sed在这个文里Root的一行,匚wRoot一行,no<span id="wmqeeuq" class="t_tag" >替换</span>成yes.<br /> <br /> 7.1.如何杀?span class="t_tag" >mysql</span>q程Q?br /> ps aux|grep mysql|grep -v grep|awk '{print $2}'|xargs kill -9 (从中?jin)解到awk的用?<br /> <br /> killall -TERM mysqld<br /> <br /> kill -9 `cat /usr/local/apache2/logs/httpd.pid`   试试查杀q程PID<br /> <br /> <br /> <br /> 8.昄q行3U别开启的服务:<br /> ls /etc/rc3.d/S* |<span id="wmqeeuq" class="t_tag" >cut</span> -c 15-   (从中?jin)解到cut的用途,截取数据)<br /> <br /> 9.如何在编写SHELL昄多个信息Q用EOF<br /> cat << EOF<br /> +--------------------------------------------------------------+<br /> |       === Welcome to Tunoff services ===                |<br /> +--------------------------------------------------------------+<br /> EOF<br /> <br /> 10. for 的y?如给mysqlY链接)<br /> cd /usr/local/mysql/bin<br /> for i in *<br /> do ln /usr/local/mysql/bin/$i /usr/bin/$i<br /> done<br /> <br /> 11. 取IP地址Q?br /> ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-   或?br /> <br /> ifconfig   | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'<br /> <br /> 12.内存?span class="t_tag" >大小</span>:<br /> free -m |grep "Mem" | awk '{print $2}'<br /> <br /> <br /> 13.<br /> netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort<br /> <br /> 14.查看<span id="wmqeeuq" class="t_tag" >Apache</span>的ƈ发请求数?qing)其TCPq接状态:(x)<br /> netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'<br /> <br /> 15.因ؓ(f)同事要统计一?span class="t_tag" >服务?/span>下面所有的jpg的文件的大小,写了(jin)?span class="t_tag" >shell</span>l他来统?原来用xargs实现,但他一ơ处理一部分,搞的有多个d....,下面?span class="t_tag" >命o(h)</span>p解决?<br /> find / -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'<br /> <br /> <br /> CPU的数量(多核多个CPUQcat /proc/cpuinfo |grep -c processorQ越多,<span id="wmqeeuq" class="t_tag" >pȝ</span>负蝲低Q每U能处理的请求数也越多?br /> <br /> --------------------------------------------------------------------------------------------------------------------<br /> 16   CPU负蝲   # cat /proc/loadavg<br /> (g)查前三个输出值是否超q了(jin)pȝ逻辑CPU?倍?nbsp; <br /> <br /> 18   CPU负蝲   #mpstat 1 1<br /> (g)?idle是否q低(比如于5%)<br /> <br /> 19   内存I间   # free<br /> (g)查free值是否过?nbsp;  也可以用 # cat /proc/meminfo<br /> <br /> 20   swapI间   # free<br /> (g)查swap used值是否过?nbsp;  如果swap usedD高,q一步检查swap动作是否频繁Q?br /> # vmstat 1 5<br /> 观察si和so值是否较?br /> <br /> 21   盘I间   # df -h<br /> (g)查是否有分区使用?Use%)q高(比如过90%)   如发现某个分区空间接q用,可以q入该分区的挂蝲点,用以下命令找出占用空间最多的文g或目录:(x)<br /> # du -cks * | sort -rn | head -n 10<br /> <br /> 22   盘I(y)/O负蝲   # iostat -x 1 2<br /> (g)查I/O使用?%util)是否过100%<br /> <br /> 23   |络负蝲   # sar -n DEV<br /> (g)查网l流?rxbyt/s, txbyt/s)是否q高<br /> <br /> 24   |络错误   # netstat -i<br /> (g)查是否有|络错误(drop fifo colls carrier)   也可以用命o(h)Q? cat /proc/net/dev<br /> <br /> 25 |络q接数目   # netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n<br /> <br /> 26   q程L   # ps aux | wc -l<br /> (g)查进E个数是否正?(比如过250)<br /> <br /> 27   可运行进E数?nbsp;  # vmwtat 1 5<br /> 列给出的是可q行q程的数目,(g)查其是否过pȝ逻辑CPU??br /> <br /> <br /> 28   q程   # top -id 1<br /> 观察是否有异常进E出?br /> <br /> 29   |络状?nbsp;  (g)查DNS, |关{是否可以正常连?br /> <br /> 30   用户   # who | wc -l<br /> (g)查登录用h否过?(比如过50?   也可以用命o(h)Q? uptime<br /> <br /> 31   pȝ<span id="wmqeeuq" class="t_tag" >日志</span>   # cat /var/log/rflogview/*errors<br /> (g)查是否有异常错误记录   也可以搜M些异常关键字Q例如:(x)<br /> # grep -i error /var/log/messages<br /> # grep -i fail /var/log/messages<br /> <br /> 32   核心(j)日志   # dmesg<br /> (g)查是否有异常错误记录<br /> <br /> 33   pȝ旉   # date<br /> (g)查系l时间是否正?br /> <br /> 34   打开文g数目   # lsof | wc -l<br /> (g)查打开文gL是否q多<br /> <br /> 35   日志   # logwatch –print   配置/etc/log.d/logwatch.confQ将 Mailto 讄qemail 地址Q启动mail服务 (sendmail或?span class="t_tag" >postfix</span>)Q这样就可以每天收到日志报告?jin)?br /> ~省logwatch只报告昨天的日志Q可以用# logwatch –print –range all 获得所有的<span id="wmqeeuq" class="t_tag" >日志分析</span>l果?br /> 可以? logwatch –print –detail high 获得更具体的日志分析l果(而不仅仅是出错日??br /> <br /> 36.杀?0端口相关的进E?br /> lsof -i :80|grep -v "PID"|awk '{print "kill -9",$2}'|sh<br /> <br /> 37.清除僉|q程?br /> ps -eal | awk '{ if ($2 == "Z") {print $4}}' | kill -9<br /> <br /> 38.tcpdump 抓包 Q用来防?0端口被hd时可以分析数?br /> # tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts<br /> <br /> 39.然后(g)查IP的重复数 q从到大排?注意 "-t\ +0"   中间是两个空?br /> # less pkts | awk {'printf $3"\n"'} | cut -d. -f 1-4 | sort | uniq -c | awk {'printf $1" "$2"\n"'} | sort -n -t\ +0<br /> <br /> 40.查看有多个zd?span class="t_tag" >php</span>-cgiq程<br /> netstat -anp | grep php-cgi | grep ^tcp | wc -l</font> </p> <p style="font-family: Arial"></p> <font style="font-family: Arial" size="4">chkconfig --list | awk '{if ($5=="3:on") print $1}'<br /> 41.kudzu查看|卡型号<br /> kudzu --probe --class=network</font> <img src ="http://www.aygfsteel.com/xiaomage234/aggbug/257387.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xiaomage234/" target="_blank">马?/a> 2009-03-02 18:02 <a href="http://www.aygfsteel.com/xiaomage234/archive/2009/03/02/257387.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转)(j)Linux SHELL if 命o(h)参数说明 http://www.aygfsteel.com/xiaomage234/archive/2008/03/24/188205.html马?/dc:creator>马?/author>Mon, 24 Mar 2008 04:10:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2008/03/24/188205.htmlhttp://www.aygfsteel.com/xiaomage234/comments/188205.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2008/03/24/188205.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/188205.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/188205.html俺反正是l常忘啊Q用的时候Lȝ倒柜的找也不是个事,把它们列在这里吧?/p>
  • –b 当file存在q且是块文g时返回真
  • -c 当file存在q且是字W文件时q回?
  • -d 当pathname存在q且是一个目录时q回?
  • -e 当pathname指定的文件或目录存在时返回真
  • -f 当file存在q且是正规文件时q回?
  • -g 当由pathname指定的文件或目录存在q且讄?jin)SGID位时q回为真
  • -h 当file存在q且是符号链接文件时q回真,该选项在一些老系l上无效
  • -k 当由pathname指定的文件或目录存在q且讄?#8220;_滞”位时q回?
  • -p 当file存在q且是命令管道时q回为真
  • -r 当由pathname指定的文件或目录存在q且可读时返回ؓ(f)?
  • -s 当file存在文g大小大于0时返回真
  • -u 当由pathname指定的文件或目录存在q且讄?jin)SUID位时q回?
  • -w 当由pathname指定的文件或目录存在q且可执行时q回真。一个目录ؓ(f)?jin)它的内容被讉K必然是可执行的?
  • -o 当由pathname指定的文件或目录存在q且被子当前q程的有效用户ID所指定的用h有时q回真?/li>

UNIX Shell 里面比较字符写法Q?/p>

  • -eq   {于
  • -ne    不等?
  • -gt    大于
  • -lt    于
  • -le    于{于
  • -ge   大于{于
  • -z    IZ
  • =    两个字符相等
  • !=    两个字符不等
  • -n    非空?/li>


]]>
用shell的find命o(h)删除n天前的文?/title><link>http://www.aygfsteel.com/xiaomage234/archive/2007/12/21/169479.html</link><dc:creator>马?/dc:creator><author>马?/author><pubDate>Fri, 21 Dec 2007 15:43:00 GMT</pubDate><guid>http://www.aygfsteel.com/xiaomage234/archive/2007/12/21/169479.html</guid><wfw:comment>http://www.aygfsteel.com/xiaomage234/comments/169479.html</wfw:comment><comments>http://www.aygfsteel.com/xiaomage234/archive/2007/12/21/169479.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xiaomage234/comments/commentRss/169479.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xiaomage234/services/trackbacks/169479.html</trackback:ping><description><![CDATA[主要是利用find命o(h)的mtime参数n[n为整数]Q表C最后修Ҏ(gu)间在n*24时之前?br />  n要带W号?br /> 可实际上 +0 的含义ƈ不是表示0时之前Q而是表示24时之前Q跟 n=1的含义一栗?br /> <br /> 值得一提的是还有两个类似的参数 atime和ctime?br /> atime表示文g的最后访问时_(d)ctime表示文g的最后状态修Ҏ(gu)?<br /> <br /> q里完整的脚本贴出来:(x)<br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">1</span><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #000000">#</span><span style="color: #000000">!/</span><span style="color: #000000">bin</span><span style="color: #000000">/</span><span style="color: #000000">bash<br /> </span><span style="color: #008080">2</span><span style="color: #000000"><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />#删除tmp目录下符?nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">.htm模式的文Ӟ不进行递归?br /> </span><span style="color: #008080">3</span><span style="color: #000000"><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />ARCHDIR</span><span style="color: #000000">=/</span><span style="color: #000000">tmp</span><span style="color: #000000">/</span><span style="color: #000000"><br /> </span><span style="color: #008080">4</span><span style="color: #000000"><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" alt="" />ARCHDAY</span><span style="color: #000000">=+</span><span style="color: #000000">0</span><span style="color: #000000"><br /> </span><span style="color: #008080">5    </span><span style="color: #000000">find $ARCHDIR </span><span style="color: #000000">-</span><span style="color: #000000">mtime $ARCHDAY </span><span style="color: #000000">-</span><span style="color: #000000">a </span><span style="color: #000000">-</span><span style="color: #000000">type f </span><span style="color: #000000">-</span><span style="color: #000000">a </span><span style="color: #000000">-</span><span style="color: #000000">name </span><span style="color: #000000">"</span><span style="color: #000000">*.htm</span><span style="color: #000000">"</span><span style="color: #000000"> </span><span style="color: #000000">-</span><span style="color: #000000">maxdepth </span><span style="color: #000000">1</span><span style="color: #000000"> </span><span style="color: #000000">-</span><span style="color: #000000">exec ls </span><span style="color: #000000">-</span><span style="color: #000000">l </span><span id="Codehighlighter1_149_150_Open_Text"><span style="color: #000000">{}</span></span><span style="color: #000000"> \;<br /> </span><span style="color: #008080">6    </span><span style="color: #000000">find $ARCHDIR </span><span style="color: #000000">-</span><span style="color: #000000">mtime $ARCHDAY </span><span style="color: #000000">-</span><span style="color: #000000">a </span><span style="color: #000000">-</span><span style="color: #000000">type f </span><span style="color: #000000">-</span><span style="color: #000000">a </span><span style="color: #000000">-</span><span style="color: #000000">name </span><span style="color: #000000">"</span><span style="color: #000000">*.htm</span><span style="color: #000000">"</span><span style="color: #000000"> </span><span style="color: #000000">-</span><span style="color: #000000">maxdepth </span><span style="color: #000000">1</span><span style="color: #000000"> </span><span style="color: #000000">-</span><span style="color: #000000">exec </span><span style="color: #000000">/</span><span style="color: #000000">bin</span><span style="color: #000000">/</span><span style="color: #000000">rm </span><span id="Codehighlighter1_240_241_Open_Text"><span style="color: #000000">{}</span></span><span style="color: #000000"> \;</span></div> <img src ="http://www.aygfsteel.com/xiaomage234/aggbug/169479.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xiaomage234/" target="_blank">马?/a> 2007-12-21 23:43 <a href="http://www.aygfsteel.com/xiaomage234/archive/2007/12/21/169479.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>BlogJava之unix shell~程http://www.aygfsteel.com/xiaomage234/archive/2007/12/09/166420.html马?/dc:creator>马?/author>Sun, 09 Dec 2007 03:42:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2007/12/09/166420.htmlhttp://www.aygfsteel.com/xiaomage234/comments/166420.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2007/12/09/166420.html#Feedback1http://www.aygfsteel.com/xiaomage234/comments/commentRss/166420.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/166420.html shell的功能很强大Q基本unix有的服务Q都可以通过shell去调用,对于pȝ理员是必备的技能,可以节约不少旉Q提高效率?br /> shell里,awk,sed,grepq?U类型功能最强大?br /> awk提供字符串处理功能,方便q行分析l计Q?br /> sed是流文本~辑命o(h)工具Q功能大于viQ?br /> grep能根据正则表辑ּq行查找Q支持管道过滤?br /> q里Ҏ(gu)工作用到的一个每天定时清除n天之前的mysql数据库文件ؓ(f)例?br /> 主要是依据每天生成的表的日期字符串跟7天前字符串的D行比较。[q里是大比较]
 1#!/bin/bash
 2datestr=`date --date="7 day ago" +%Y%m%d`
 3find /usr/local/mysql-standard-4.1.7-pc-linux-i686/data/movie_pvfrom/ -name '*.frm' --name '*_200*' --name '*.MYD' --name '*_2
 400*' -o -name '*.MYI'  -a -name '*_200*' > tmp
 5fileList=`more < tmp`
 6for fileName in $fileList
 7do
 8MovedDir2=`echo $fileName|awk -F/ '{print $NF}'|awk -F_ '{print substr($NF, 0, 8)}'`
 9if [ $MovedDir2 -lt $datestr ]
10then
11echo $fileName
12rm $fileName
13fi
14done

一行一行解释一下:(x)
1Q表C个脚本以bash shell来解释执行;
2Qdate命o(h)Q设|变量datestr?天前的年月日格式的?
3,4,  查找数据库文件目录下?frm,.MYD,.MYI文gQƈ且文件名含有"_200"字符Ԍ这些文件的路径重定向到 tmp文g;
5,tmp的数据读到变量fileList;
6,7,14,循环l构Q每ơ读一行数据;
8Q设|变量MovedDir2的gؓ(f)一行数据的最后一?/"分隔号值的最后一?_"分隔L(fng)?位字W?
[假设一行数据ؓ(f)"/usr/local/mysql-standard-4.1.7-pc-linux-i686/data/movie_end/end_20071206.MYI"Q那么变量MovedDir2的gؓ(f) 20071206]
9,10,13,判断 变量MovedDir2的?是否于datestr的|条g判断l构Q?br /> 11Q回?变量fileName的|
12Q删除变量fileName定位的文Ӟ

demoȝQ?br /> 1Q@环,判断l构的用;
2Qdate,find,awk,rm命o(h)的利用;
3Q重定向W?">"的用,道"|"的用?br />


]]>
վ֩ģ壺 | | ƽ| Դ| Ͻ| | | | ˳| | | | ˮ| | | | | ̨ʡ| | ԭ| | | | | ƽ| ͨ| Ԫ| Ұ| ɾ| | ɽ| | | ˮ| | ɽ| Ϸ| | | ̨| ¡Ң|