170 views 七月 02, 10 by Timothy
对于自己维护自己的WP的同学来说,数据的定期备份与维护,是需要经常关注的问题。如果你的WP是放在独立服务器上,有后台控制面板的话,可以通过控制面板或者Php-MyAdmin来导出博客数据成为一个sql脚本,然后用FTP时常备份你的主题即可。
另外,还有一个不错的办法,可以通过WP-DB-Backup这类的插件 ,来自动备份数据库,并将数据库脚本自动发送到你的邮箱。
如果你的WP放在VPS上,又没有装控制面板,并且你不想使用插件的话,此文为你介绍一种通过Shell脚本备份的方法。前提是你有SSH访问你的主机的独立主机,或者VPS主机的权限。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| #!/bin/sh
NAME="user1"
PRE=`date +%F-%H-%M-%S`
WP_PATH="/home/www/user1"
BACKUP_PATH="/backup"
DB_USERNAME="user1"
DB_PASSWORD="123456"
DB_NAME="user1_db"
#backup blog
tar zcvf $NAME-$PRE.tar.gz $WP_PATH
mv $NAME-$PRE.tar.gz $BACKUP_PATH
#backup blog db
mysqldump -u${DB_USERNAME} -p${DB_PASSWORD} $DB_NAME | gzip > $NAME-$PRE.sql.gz
mv $NAME-$PRE.sql.gz $BACKUP_PATH |
脚本实现的功能很简单,只需要修改脚本头部定义好的一些参数变量的值,然后运行,脚本会打包你的站点的所有源码,以及导出mysql数据库对应的库的数据。然后把备份数据统统扔到你定义好的备份目录。
最后,如果需要实现定时自动备份,只需要把这个脚本扔到cron目录里面,就可以定时运行了(事先确认你的cron服务在运行状态)。或者每个月、每周、每天,看你的喜好了。这样,定时自动备份的功能就实现了。而且维护的工作也少了很多,推荐同学们使用。
注:此脚本已经在俺的VPS测试并通过
164 views 六月 29, 10 by Timothy
本文记录一下搭建VPS常用的一些技巧和方法。此文针对基于Ubuntu系统的VPS,不同Linux发行版估计有稍许差异。
修改SSH默认端口
不要使用默认的22端口,这样很容易暴露SSH服务,也为暴力猜解用户名和密码留下了隐患。解决方法,是将/etc/ssh/sshd_config中的Port由默认的22,改为其他端口
不允许root帐号通过SSH直接登录
这样也是相当危险的,一般的做法是通过SSH配置文件,限制root帐号直接登录。修改/etc/ssh/sshd_config,将PermitRootLogin的值改为no。这样,SSH一律使用普通用户登录,在需要执行更高权限命令时,通过sudo命令,或者su成root再执行
限制同一ID同时多重登陆
这样的做法,能让同一个ID,在同一时间内不能被多人同时登录。
实现方法:编辑 /etc/security/limits.conf
加入如下配置项即可:
# -
* hard maxlogins 1
开启只有FTP登录权限,却没有Shell权限的帐户
非常简单,在useradd添加帐户的时候,设置用户的home目录,却不设置shell类型即可
1
| useradd -d /home/user1 -s /bin/false user1 |
这样,为用户设置了home目录,shell为/bin/false,也即一个不存在的shell,这样,这个用户就只有FTP权限,没有Shell权限了。前提是需要在/etc/shells里面加入/bin/false这种不存在的shell类型,这样系统才不会报错。
VPS禁止ping
1
2
| echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all #禁止ping
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all #允许ping |
150 views 六月 23, 10 by Timothy
昨天iPhone OS 4.0的发布,成为这两天最热闹的一件事了。估计全世界的果粉都等着这一天的到来。昨晚网上等到12点多,都没见OS 4.0公布出来,白天又要上班,所以只有等今晚了。晚饭过后,就开着iTunes,接上iPhone,准备更新固件。

接上iPhone后,iTunes能检测到最新版的4.0固件,于是俺迫不及待的点击了更新。可是好事多磨啊,估计全世界众多的果粉,都在连接和下载,下载速度变得很慢。不幸的是,我的更新看来下载快完成一半了,结果突然显示连接错误,下载停止了。更无语的是,竟然不支持断点续传,又要重新下载。这样的悲剧重复了两三次,实在是没信心了。后来在网上找到公布出来的官方OS的HTTP下载地址,索性开了个QQ旋风来下载,国产软件果然不负众望,以飞快的速度把固件给拖了下来……(看来关键时刻,还是国货当自强啊,嘿嘿)
接下来就是刷机,国产很简单,几分钟后,iPhone就伴随着新的OS 4.0启动了。启动后,在iTunes里能看到更新后的固件版本:
最后,来一张更新固件后的iPhone截图:
OS 4.0的一些新特性,只有慢慢体会了。今晚总算顺利完成了固件升级,打完收工……
44 views 六月 17, 10 by Timothy
早上收到Ben同学的消息,说Linode庆祝7周岁生日,把所有用户的内存全升级了,内存升级幅度达42% 开始我还不太相信,结果在blog.linode.com发现官方一篇慷慨激昂的博文,果然是真的!这下380多的内存变成了512MB,相当赞。看来linode很有眼光,这样一来,产品更有竞争力了。祝linode越来越好!
137 views 六月 16, 10 by Timothy
俺的iPhone 3GS用了有一段时间了,从用户体验和性能方面来看,感觉非常满意。发现有一些功能非常实用,跟大家分享一下。
使用电脑通过iPhone共享上网
这功能其实非常实用,毕竟都有带电脑外出的时候,单是又没法上网。刚好我的iPhone用的联通3G,这样上网速度快了不少,其实iPhone内置了上网共享的功能,可以通过USB和蓝牙进行网络共享,非常方便。只需要将iPhone通过USB或者蓝牙,连接上电脑,然后在 “设置”->“通用”->“网络”-> “网络共享”,将其打开即可。
3G的速度果然不一般,比移动GPRS快多了……
使用iPhone进行屏幕截取
这其实也是iPhone内置的功能,要在手机任意屏幕进行截屏操作的话,只需要同时按住电源开关,再按一下Home键,这时,屏幕会突然闪一下,有相机的快门声。随后,去你手机的相册看你截屏的图片文件吧。
885 views 六月 14, 10 by Timothy
今晚试了试UnixBench在VPS上的测试,想比较下BurstNET和Linode的VPS的差异。
首先要准备一下测试环境,下载和编译一下UnixBench。这次测试我分别用了UnixBench 4.1.0版,和最新的UnixBench 5.1.2版。
下载及编译UnixBench:
1
2
3
4
5
6
7
| wget http://members.dslextreme.com/users/andylee/unixbench-4.1.0-wht.tar.gz
tar zxvf unixbench-4.1.0-wht.tar.gz
#解压后,得到一个unixbench-4.1.0-wht-2的目录,进入目录,然后编译unixbench
cd unixbench-4.1.0-wht-2
make
#编译完成后,运行
./Run |
这里还要注意一下,如果运行时出错,提示:Please install /usr/bin/time. 的话,需要安装time
UnixBench 5.1.2版的编译方法类似,如果在编译时出现错误,提示找不到X11一类的库的时候,需要编辑Makefile,将 GRAPHIC_TESTS = defined 这一行注释掉即可,因为对于VPS,不需要对显卡进行测试。
这样,编译完成之后,就可以开始运行测试了。整个过程大概持续十几分钟,最终的结果就会出来。 Read More
761 views 六月 08, 10 by Timothy
自从Tunnelier问世之后,网上就有很多同学都推荐这款的SSH客户端工具。除了有基本的SSH终端功能,以及对SFTP的支持,还支持SSH端口动态转发功能,也就是咱常提到的SSH加密隧道代理了。久酷同学也在博客中推荐过此软件。而且经过众多网友测试,其隧道代理的速度要比常用的MyEnTunnel还快。所以此软件一出,我也立马用此软件,取代了之前的MyEnTunnel。使用Tunnelier的方便之处还在于,可以把不同SSH代理设置的信息保存为不同的Profile保存起来,如果有多个SSH账户需要切换,这是相当方便的。
不过,今天要给大家介绍的是Tunnelier的另外一个不错的贴心小功能,就是支持多人共享一个SSH帐号来跨栏。由于Tunnelier只是一个代理软件,拥有了它还不能实现跨栏,你还需要一个国外的SSH账户才可以。但是由于一些主机的限制,同一个SSH账户是不允许在不同的机器同时登录的。为了节约口袋里的银子,让资源最大化利用,Tunnelier支持局域网内多人共享同一个SSH账户上网。设置起来也很简单:
平常我们默认把Services标签页中,Listen Interface设置为127.0.0.1,是为了实现本机代理。需要实现局域网共享SSH的话,需要把这里设置为0.0.0.0,并重新登录一下SSH即可。别忘了把Windows防火墙设置为允许外部程序访问本机代理端口。比如我的本机监听端口为:1080。 这样,局域网其他机器,通过局域网IP,就可以访问我在本机建立的这个代理隧道了,比如: 192.168.0.100:1080 。设置起来其实相当的简单,不过确实是一项很实用的功能。
427 views 六月 06, 10 by Timothy
ACL是Linux中的访问控制列表,它提供对文件、目录更好的读写、访问控制权限等功能,也是我在Ubuntu下配置用户权限经常用到的工具。ACL工具的安装非常简单:
1
| sudo apt-get install acl |
系统便会自动下载、安装ACL工具。安装好后,你就可以通过setfacl和getfacl来设置、获取文件及目录的访问控制权限了。
最近在用ACL设置权限的时候,老是提示: Operation not supported ,百思不得其解,反复检查了shell命令,并没有发现不妥之处,后来在向google老师请教后,发现Linux下的文件系统,在挂接时,有可能默认并没有开启对ACL的支持。通过如下命令可以检查:
比如,在我的VPS中,通过此命令的输出信息,就能看到,我要设置权限的目录是在/home 而此目录是和根目录在同一个文件系统,被统一加载为 / 的。这个文件系统默认并没有开启动对ACL的支持,需要我们修改/etc/fstab来开启ACL支持。做法比较简单:
在你所需要的文件系统options中,追加acl(注意是小写),如下:
#
/dev/xvda / ext3 rw,acl 0 1
修改后,保存并退出,然后直接重启系统,或者直接umount该文件系统,并重新mount。最后再用mount -l确认一下看ACL支持是否开启即可。