Python:实现用socket传输文件

分类:Pythonpython传输文件最重要的有两步:
1).将要传输的文件的信息发送过去,包括文件包,大小以及其它信息;
2).发送端读取文件内容并发送过去,接受端将缓存里面的内容写入文件.
发送端:

继续阅读 »

Python:自动检查md5sums

分类:Python

#! /usr/local/bin/python

import commands
file = raw_input("Enter the filename: ")
sum = raw_input("Enter the md5sum: ")
md = "md5sum " + file
print md
check = str(commands.getoutput(md))
checksum = sum + "  " + file
#print checksum
print check
if check == checksum: print "Sums OK"
else: print "Sums are not the same!"

Schema: Nginx图片服务器的架构方案

图片服务有两种问题,一是存储问题,二是访问量问题。
存储问题就是硬盘容量问题,花钱买硬盘就可以了,看似简单,但着实也是最苦的问题。按目前探索来看,最好的方式是:在任何时刻遇到硬盘空间不够时,买颗硬盘插上,最多改改配置,就能立刻利用;另外,硬盘要能充分利用,不然图片存储量大再加上备份,很恐怖,最好是每颗硬盘都用上100%的空间。
访问量也是个大问题,如果服务不允许防盗链,那么访问量会引起带宽、服务器压力等问题,有钱的话直接扔CDN,没钱或者有更多的钱,就自己做吧。根据垣古不变的真理“越老的图,访问量也相对较少”这一点,分成两大部分,一边处理最新的图片,一边处理老旧的图片。最新的图片访问量大,但存储量较少;老图片访问量低,但存储量大。
大概分析完了,开始制定方案。

继续阅读 »

Schema:对163.com新架构的分析

实际上是app_nginx_squid_nginx的结构,nginx顶在最前面,然后后面有比nginx更多的squid。
这个架构的特点是扩展了squid的功能,并且可以将很多请求绕过squid,实际应用时仍然出现一点问题,并在此系统的超级负荷下收获了不少经验。此系统带图片的负荷每日在2亿-5亿之间,nginx代理全部机器加起来每秒处理的并发数日常总共是10000左右。


继续阅读 »

Nginx:通过配置使全站页面变灰

只需要在Nginx负载均衡服务器上,利用sub_filter指令在输出的HTML中增加一行:

<style type="text/css">html {filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); }</style>

就可以实现在IE及IE内核浏览器下,所有网站变灰色。

继续阅读 »

Nginx:防盗链配置

location /images/ {
alias /data/images/;
valid_referers none blocked server_names *.linuxany.com linuxany.com ;
if ($invalid_referer) {return 403;}
}

Shell tar命令批量解压方法,排除指定目录及文件

分类:Shell第一种:

for tar in *.tar.gz;  do tar xvf $tar; done
for tar in *.tar.bz2; do tar xvf $tar; done

第二种:用tar命令批量解压某个文件夹下所有的tar.gz文件

ls *.tar.gz | xargs -n1 tar xzvf

第三种:

find -maxdepth 1 -name "*.bz2"|xargs -i tar xvjf {}

这条命令可解压当前目录下的所有bz2文件,maxdepth表示搜索深度,1代表只搜索当前目录

第四种:

for i in $(ls *.tar);do tar xvf $i;done

排除指定目录:

tar zcvf linuxany.tgz --exclude='*/log/*' linuxany/

排除指定文件:

tar zcvf linuxany.tgz --exclude='*/*.log*' linuxany/

返回顶部