-
LAMP服务器的简单备份方法
我用CentOS作为网站服务器的OS,我是这样备份我的网站的。 以下简称网站服务器为C,我的电脑是A。首先,在C上用一段shell script备份网站: backup.sh #! /bin/bash # This script is to backup the website files and db mysqldump mydb -pmypass >/var/www/mysite/mydump.sql datestamp=`date +%Y%m%d` filewww=”/home/myuser/backup/mysite_””$datestamp””.zip” zip -r $filewww /var/www/mysite 然后可以先运行一下这个script,看看结果是否符合预期。如果没问题,就可以将其加入到crontab了,每天自动运行。 59 3 * * * /bin/bash /home/myuser/backup.sh 这样C这边每天凌晨会备份一次并生成一个zip压缩包。但是把C的备份留在C就没意义了,我还要定期的把zip从C传到A。由于A不像C那样不间断运行的,所以如果从C向A传输就需要测试A是否在线,麻烦。不如让A取C上的zip。这就涉及到另一个问题,身份验证。 为一段自动运行的script提供password,我觉得不如使用public key验证来得专业,而且简单,两步就搞定: ssh-keygen -t rsa ssh-copy-id -i .ssh/id_rsa.pub myuser@C 这期间问到private key password时直接回车就行了;myuser@C的password还是需要输入的(否则……)。 下一步就是在A上写script,获取C上的备份,成功获取后删除C上的备份,并将A本机上超过一个月的备份删除。 backup-mysite.sh #!/bin/bash #by Raymond, Jun,…
-
Unicode编码中的简繁中文互转
现在简繁中文的转换已经不像从前那样,是gbk/ big5两种文字编码之间的转换,而是在同一个编码,Unicode,当中不同编码的映射。当然,简繁中文绝对不是简单的一一对应关系,有一对多的个别情况,例如简体的“后” 对应繁体的 “后”和“後”。行业词汇也有差别,例如大陆说“宽带”,而港台说“寬頻”;大陆说“操作系统”,而港台说“作業系統” 等等。 因此当我决定用Python程序将森海塞尔简体中文网站转换为繁体中文网站时,我的计划分三个步骤: 提取行业高频关键字,找到简体和繁体的对应,编成词典 利用现有的Python中文本地化工具包,将关键字之外的文字转换 请港台Freelancer人工校对,确保本土化 第一步,我的词典替换程序在此: 第二步,我利用的是pyzh中文工具包中的fanjian.py完成。特别感谢pyzh项目组的全部成员和fanjian.py程序作者ne.manman和zsp007! 下面就交给香港的朋友了,希望不会累坏他:) 顺便说,Songbird很不错,有点山寨iTunes,那又怎样呢?毕竟Linux下面还没iTunes。 Songbird
-
从6.7到0.01
编程果然不能偷懒!我这一偷懒,CPU就不知道要受多少累、冒多少热气了。一开始,我采用了很无脑的穷举方法,复杂度是O(n**2),结果肯定正确的,但是长度一万的数组就可以耗去6.7秒的CPU时间。 raymond@raymond-laptop:~/_Work/Dev/python$ python le.py time: 0:00:06.708924 return: 1 0 0 0 之后,在高手提示下将复杂度降低到n (log n + 1) ,结果不错了。 raymond@raymond-laptop:~/_Work/Dev/python$ python le.py time: 0:00:00.010430 return: 1 0 0 0 对应改进后的代码: def leader3(array): t = len(array) //2 array.sort() p = -1 c = 1 for i in array: if p == i : c+=1 if c > t:…
-
CLI(命令行界面)的网络监控
图形界面的网络流量控制并不稀罕了,我总算找到一个CLI的,给我那没有GUI的Ubuntu Server装上了。很简单,但是并不简陋哦!即时、平均、最大数值都可以看到。 我是从这里发现bwm-ng的。
-
我的第一个CAPTCHA
Securimage 是开源的PHP CAPTCHA脚本。利用Securimage,你可以很快的做出如图的校验码出来,简单的把人类和机器人分开(至少能把不太聪明的机器人挡住)。 Securimage 需要 GD2 图形程序库。
-
自定义Joomla!的模块/组件参数
Joomla!的灵活结构再次让我省心省事了。虽然Joomla!的菜单导航组件很不错,但是一些不算很通用的功能就需要自己定制,例如为每个栏目设定背景图或者标题图。 我是这样做的: /administrator/components/com_menus/models/metadata/component.xml <?xml version=”1.0″ encoding=”utf-8″?> <metadata> <state> <name>Component</name> <description>Component Parameters</description> <params> <param name=”page_title” type=”text” size=”30″ default=”” label=”Page Title” description=”PARAMPAGETITLE” /> <param name=”show_page_title” type=”radio” default=”1″ label=”Show Page Title” description=”SHOW/HIDE THE PAGES TITLE”> <option value=”0″>No</option> <option value=”1″>Yes</option> </param> <param name=”pageclass_sfx” type=”text” size=”20″ default=”” label=”Page Class Suffix” description=”PARAMPAGECLASSSFX” /> <param name=”@spacer” type=”spacer” default=”” label=”” description=”” /> <param…
-
新版网站成长历程
最近我在做森海塞尔中国网站的改版,改版的目标是采用森海塞尔全球网站的新风格,并整理网站结构和内容。全球站采用的CMS大概是来自IBM Lotus的,加上Windows Server、MS SQL Server,身价应该在一万欧以上。作为一个挑战,我打算用免费的开源解决方案来办这件事。 我打算用LAMP环境下的Joomla! 开源CMS系统来做这个项目。 这个是目标效果:) 这次森海塞尔全球站做的要比上一版规范的多,虽然还不是XHTML,但是CSS+DIV已经取代了<table>,这样就很好办了。我直接把CSS拿过来,稍加调整,就已经有了点样子。补充一下,Joomla!自带的menu模块的可定制度非常高,顶部和左边的导航就是用menu模块和CSS完成的。 渐入佳境了。产品分类是利用Joomla!的Extend Menu模块做的。 已经马马虎虎可以糊弄人了:) 更新:升级完成,新旧对比:
-
终于等来了ubuntu 8.04 Hardy Heron
首先我相当的喜欢这个Clock applet:时间、日期、日历、世界时、天气、温度都有了。当然,天气和温度是需要网路连接的。似乎还没有位置个数的限制。Gnome2.22真不错。 其它一些我注意到的改进: 全屏视频播放的表现也有很大提高(Ati x1300显卡)。 待机问题解决了!! 不再需要安装xserver-xgl来开启compiz了。 pidgin是2.4.1版本,支持QQ,还支持Sametime。 amule是svn版本了,支持>2GB文件等等。 还没升级的朋友,别犹豫了。