Python文件备份脚本更新,加入mysql数据库备份

前言: 写这篇文章前,思考了XX久,原因很简单,这篇东西没人看,这个东西除了我也没人用,所以使用说明书就免了。 于是可以写点别的,QQ for Linux今早发布,可以写点评论,NO! n多人会写; 没事,还有个叫 中文版如何做爱 的Very恶搞 and 极度幽默的开源项目,But! 时间不对。…… 其实还有还多,比如《全名黑客》发誓要将小黑精神进行到底!

前言的小结: 总结了莫须有的,回顾了后天会美好的憧憬,我决定==》开写!

正文开始: backup_py_20080731.tar.bz2是python写的文件备份脚本,配合cron可以备份指定的文件,mysql数据库,删除过期的日志。这个脚本最早是在学python时动笔的,其间修修补补的估计有一年了,成了现在这个样子。从程序的角度,十分丑陋,从实用的角度也就马马虎虎过得去这样。可是我还是不断的修改,写这篇文文,无它,好几次系统崩溃都是考它备份出来的东西还原的,也算是功臣了。所以写给自己看则个。

唠唠叨叨一大堆,OK。handbook begin 首先,它分成两个文件:
backedit.py 通过它可以查看修改备份文件列表;
backup.py 主角,执行它才能完成备份(你得授予可执行权限)
其实很简单,backedit.py负责设定那些东西要备份,cron调用backup.py给那些文件打包,O了^_^ 。 那么先来解释一下backedit.py

阅读完整的文章… »

LD on 07月 31st, 2008 | File Under Python | 5 Comments -

Python图片批量水印脚本

冒着波涛汹涌的电压,机子断电重启n次(n>15)的艰难条件,终于”乒乒乓乓”的敲出了这个给图片批量加水印的小脚本。”呼¥%…¥#¥#&×¥%%¥” 吐出一口长长的浊气, 这种天气,冰箱比不上井水,空调比不上蒲扇,知了还叫个不停,到晚上田鸡还接着扯…… OK,我抱怨完了,可以介绍这个脚本了

虽然WordPress已经有自动给图片加水印的插件了(呦呦~~~就是这个super image tools), 而且这个东西牛X到不行,连远程图片也可以轻松搞定; 但就是不符合我的口味,Why?大哥辛苦了,小弟很勤奋,每张图片我都要亲自照顾一下。 :evil: 以前写过一个简单的Python图片处理程序,现在权当复习一下。

这个批处理脚本功能很简单,只有三个:

  1. 给图片添加TEXT水印
  2. 添加logo图片水印
  3. 生成图片的缩略图

当然,可以根据自己的需求修改脚本里定义的变量。执行很简单,大部分设置在脚本里:

python watermark.py [input-image-path] [METHOD]
(脚本里已经指定METHOD,就不必加了)

比如:我要把把家目录下Pictures里的图片都加上文字水印(文字和水印位置在脚本中定义),那么可以这么执行:

python watermark.py /home/user/Pictures 1
(方法1是文字水印,2为logo图片水印,3为缩略图)

文件名: watermark_py_20080724.tar.bz2
下载地址: http://code.google.com/p/nothing-at-all/downloads/list
我只在linux上测试过, 下面是示例:

阅读完整的文章… »

LD on 07月 24th, 2008 | File Under Python | 7 Comments -

修改了arch下的pacget脚本,可以和pacman同用一个mirrorlist了

经历半个月,终于考完试; 到长沙的中软国际傻傻的走了一遭; 做着严重超载的火车回到了家; 躺在当年的床上,混混沌沌地睡了一天办; 把家里老机子上的arch升级并重新布置了一下桌面

只是家里的网速太慢,pacman使用wget更新很稳定的10kb/s,急煞人也!! 没法搬出以前linuxsir论坛上找到的pacget脚本,修改了一下,使它和pacman使用同样的mirrorlist。

  1. #!/bin/bash
  2. #pacget script
  3.  
  4. cachedir=/var/cache/pacman/pkg
  5. rm -f $cachedir/*.aria2
  6. file=`echo $1|awk -F '/' '{ print $NF }'`
  7. echo Downloading: $file|sed 's,/,,'
  8. repo=`echo $1|awk -F '/' '{x=NF-3 } { print  $x }'`
  9. echo %repo: $repo
  10. mirrors=`sed -n 's/^Server = //; s/\$repo/'$repo'/ ; s,$,/'"/$file"', ; /^ftp/p; /^http/p' /etc/pacman.d/mirrorlist`
  11.  
  12. if [[ $2 = *.db.tar.gz.part || $repo = "testing" ]]; then
  13.        echo "(using one mirror: $1 )"
  14.        mirrors=$1
  15.        cachedir=/var/lib/pacman
  16. fi
  17.  
  18. aria2c -t60 -m5 -l /var/log/pacget.log $mirrors -o $file.pacget
  19. if [ -f $cachedir/$file.pacget.aria2 ]; then
  20. exit 130
  21. fi
  22. mv $file.pacget $2

还是没有给我失望,下载速度提上去了; 不是最快,但满足了 :smile:

阅读完整的文章… »

LD on 07月 14th, 2008 | File Under 魅力桌面 | No Comments -

[shell脚本]文件编码转换

昨天晚上写的文件转码脚本,可以遍历目录,把给出的目录下(包括子目录)的GB2312文件转成UTF-8编码的;

当然,也可以修改文件开始的常量定义来完成其他类型文件和编码之间的转换;

sh   convert2.sh    /your_path/

文件:convert2.sh
文件详细内容:
阅读完整的文章… »

LD on 06月 18th, 2008 | File Under Shell | No Comments -