安装Pyhton MySQLdb

安装很简单,几步就好

wget -q http://peak.telecommunity.com/dist/ez_setup.py
python ./ez_setup.py

wget http://downloads.sourceforge.net/project/mysql-python/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz
tar -zxvf MySQL-python-1.2.3.tar.gz 
cd MySQL-python-1.2.3
python setup.py install

可能出现问题1:error: command ‘gcc’ failed with exit status 1
解决:yum install python-devel

将wordpress博客中的yupoo图片片下载至本地

2007年建立这个博客的时候,使用的还是虚拟主机,出于容量不够及备份等因素的考虑,当时我使用了Yupoo相册来保存及外链博客里的图片,6年过去了,博客里的这些图片仍然可以显示,外链的地址没有失效,说明Yupoo还是一个靠谱的网络相册的。

但国内的互联网形势风云变幻,谁也说不准将来会发生什么事儿,曾经风极一时的拍拍乐(886.cn)到现在已经不能访问了,巴巴变也经历了数次改版,在2008年中旬,Yupoo进行了一次大的改变,限制了用户的外链,强行将外链的图片加上了广告,当时我还在博客上极其强烈的吐嘈了Yupoo一顿。从那时起,我就一直在思考,如何更好的保存博客中的图片.

到2010年,VPS兴起了,这个博客用上了Burst.net家的VPS,20G的空间,再也不用担心容量不够了。从那时起,基本也开始用博客自身的空间来保存图片了,在VPS上部署了备份脚本,这下再也不用担心空间跑路或者其它的因素了。但有个显著的问题,博客里以前Yupoo外链的图片太多,要如何转移过来?一直到今天,写了这个Python脚本,解决了这个问题。

脚本会把数据库中的所有yupoo图片下载至本地的yupoo目录,图片的文件名不变,把yupoo目录上传至博客的/wp-content/uploads/目录,然后,博客就彻底脱离了Yupoo!

yupoo相册的图片地址类似于以下这几种:
http://pic.yupoo.com/用户名/xxxxxx/xxxxxxxxx.jpg
http://photo14.yupoo.com/年月日/xxxx_xxxxxxx_xxxxxxx.jpg
http://photo15.yupoo.com/年月日/xxxx_xxxxxxx_xxxxxxx.jpg 继续阅读

开源的代理程序:shadowsocks

shadowsocks是一款开源的代理程序,使用Python编写,经测试,其效果非常好,这里介绍一下安装方法。
项目主页:https://github.com/clowwindy/shadowsocks

1,环境准备

python -V

安装前请更新python至2.6或者2.7版,更新方法见此

2,安装Python并发框架 Gevent
Gevent依赖libevent和greenlet,需要分别安装。

yum install libevent libevent-devel

wget http://pypi.python.org/packages/source/g/gevent/gevent-0.13.6.tar.gz --no-check-certificate
tar -xzvf gevent-0.13.6.tar.gz
cd gevent-0.13.6/
python setup.py install

wget -q http://peak.telecommunity.com/dist/ez_setup.py
python ./ez_setup.py
easy_install greenlet

3,安装Python加密库 M2Crypto
程序默认有”bf-cfb”, “aes-256-cfb”, “des-cfb”, “rc4″等几种加密方法,如果不想加密,可以不用安装M2Crypto。 继续阅读

使用python备份远程FTP上的文件和Mysql

写这个脚本初衷是想借助VPS来定期备份虚拟主机上的文件和数据库。最近对美国VPS的速度有点不满了,想把博客搬到香港的虚拟主机上,但虚拟主机的备份不太方便,于是就冒出了这样一个想法:用VPS备份虚拟主机。

其实备份文件是个简单的事情,但要把数据库都导出,就麻烦了。大部分Mysql有个locahost的限制,只能在本地连接,不能远程连接数据库,想来想去,只能是在localhost弄个php的脚本,用来导出数据库

程序包含2个文件,分别是
db_backup.py:主程序,在里面设置好虚拟主机的FTP地址,用户名和密码信息,然后执行备份程序,如果要定时执行,在crontab里设置这个脚本即可
db_backup.php:导出Mysql的脚本,主程序会把此脚本发送至FTP服务器,然后自动访问http://ftp/db_backup.php把Mysql导出至FTP服务器上的的db_backup目录。因此需要在此文件里填写好Mysql的连接信息。备份完成以后主程序会删除FTP服务器上的此文件和db_backup目录,保证了数据库不被泄露

前提条件:
1,VPS安装Python,这个一般没问题,VPS的虚拟化技术不能是OpenVZ。
2,虚拟主机必须是php型的,且支持passthru()函数,国内的主机一般都支持,不过还是建议事先用探针检测一下

脚本打包下载请点击这里 继续阅读

python中文件的复制

文件的复制
file类中没有提供专门的文件复制函数,因此只能通过使用文件的读写函数来实现文件的复制。这里仅仅给出范例:

src = file("myfile.txt", "w+")
temp = ["hello world! \n"]
src.writelines(temp)
src.close()

src = file("myfile.txt", "r+")
des = file("myfile2.txt", "w+")
des.writelines(src.read())
src.close()
des.close()

继续阅读

python备份远程FTP脚本

自己写的一个Linux上使用python备份远程FTP脚本,编写此脚本的初衷是为了方便一些使用虚拟主机的朋友,因为许多虚拟主机商不提供备份服务,导致文件丢失的情况时有发生,因此就有了这个脚本。

系统需要安装fuse-curlftpfs、zlib、zlib-devel三个软件包,其中fuse-curlftpfs包不好安装,得先安装个第三方的yum源,才可以通过yum的方式安装之。

原理比较简单,即是python调用shell命令把远程FTP服务器挂载至本地,再打包压缩实现备份,最后解除挂载。备份以后的文件名会包含了备份的日期,同时会删除5天前备份的文件,配合crontab使用,可以实现定期备份FTP服务器上的文件。

如果是在VPS上使用,请确保VPS是不是基于Openvz虚拟化技术的,因为Openvz会限制对fuse的使用,无法实现远程挂载。Xen,KVM可以正常使用。

编写脚本期间还得到了zhiwei同学的帮助,在此提出感谢。脚本具备扩展性,可以备份多个FTP服务器上的目录。如果需要备份多个FTP,把脚本最后4行复制一遍即可。

使用方法: 继续阅读

python读取系统信息

python读取系统信息的一些方法

最主要是的platform模块:

>>> import platform
>>> platform.version()
'#1 SMP Fri Feb 22 00:31:26 UTC 2013'
>>> platform.platform()
'Linux-2.6.32-358.el6.x86_64-x86_64-with-centos-6.4-Final'
>>> platform.system()
'Linux'
>>> platform.machine()
'x86_64'
>>> platform.python_build()
('r266:84292', 'Feb 22 2013 00:00:18')
>>> platform.python_version()
'2.6.6'
>>> platform.release()
'2.6.32-358.el6.x86_64'
>>> platform.uname()
('Linux', 'localhost.localdomain', '2.6.32-358.el6.x86_64', '#1 SMP Fri Feb 22 00:31:26 UTC 2013', 'x86_64', 'x86_64')
>>> platform.architecture()
('64bit', 'ELF')
在windows上,专门还有个platform.win32_ver() 可用

继续阅读

第 30 页,共 152 页« 最新...1020...282930313233...405060...最旧 »