201 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测试并通过
192 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 |
48 views 六月 17, 10 by Timothy
早上收到Ben同学的消息,说Linode庆祝7周岁生日,把所有用户的内存全升级了,内存升级幅度达42% 开始我还不太相信,结果在blog.linode.com发现官方一篇慷慨激昂的博文,果然是真的!这下380多的内存变成了512MB,相当赞。看来linode很有眼光,这样一来,产品更有竞争力了。祝linode越来越好!
1,077 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
488 views 三月 16, 10 by Timothy
这两天加班,没时间顾及VPS。晚上没事用SecureCRT,通过SSH连接VPS,发现VPS拒绝连接。奇怪了,VPS的站点能访问,iptables也没限制SSH端口,除非是sshd服务挂了。登陆VPS的web管理界面一看,果然sshd这进程从列表中消失了。直接运行/etc/init.d/ssh start,系统返回异常:ssh 无法启动, /dev/null is not a character device 这错误提示看得我一头雾水,难道sshd服务,还跟那个/dev/null设备有关系?带着疑问去请教了下google老师,原来别人也有遇到这样的问题。sshd确实和这设备有关,如果/dev/null被损坏,ssh启动,就会有如此提示。既然问题找到了,是/dev/null损坏,我们需要重建一个,用下面的命令即可修复:
1
2
3
| rm /dev/null
mknod /dev/null c 1 3
chmod 666 /dev/null |
待/dev/null重建好后,直接在VPS的web管理页面中,运行 /etc/init.d/ssh start,久违的sshd服务就回来了。回忆了下,前两天打开了corn服务,有个每天定时执行的和日志关的脚本,会去修改/dev/null,立马屏蔽之,重启cron服务后,一切正常。
670 views 三月 05, 10 by Timothy
VPS正式上线,先恭喜下自己 ,嘿嘿。
经过多方比较,最后选了BurstNET的VPS最低配置的那一款,具体配置如下:
VPS Software: vePortal™ / OpenVZ™
CPU: 1000MHZ GUARANTEED
Memory: 512MB GUARANTEED
Disk Space: 20GB (RAID BASED CONFIG)
Bandwidth: 1000GB/MONTH
IP Addresses: 2
Management: BASIC MANAGED
DDOS Protection: CISCO™ GUARD
可惜是基于OpenVZ的,不支持PPTP的VPN,只能架OpenVPN。其他的地方还比较满意,2个IP,1TB月流量是亮点。装上了Ubuntu 9.10 32bit系统,用PHP+MySql+Nginx+FastCGI 搭建了WordPress环境自上次重启后,用uptime命令查询了一下,运行了两天又十小时,还算稳定。free -m命令,显示剩余内存131MB,为了测试速度,打开了到vps的ping,自家的成都电信ADSL,自测速度如下:
麻烦各位天南地北的同学帮我测试一下速度(ping vps.xiaozhou.net),在回帖中告诉下我你的宽带是网通、电信还是其他,ping平均多少ms延时。非常感谢!