作者:dawncold
发布时间:April 27, 2012
分类:技术
备份数据库的重要性不想多说了。
#! /usr/bin/env python
# coding: utf-8
import os
import sys
from datetime import *
import time
#mysql's path
mysql_path = '/usr/local/mysql/bin/'
#edit this if your mysql username and password is not like this:
mysql_username = 'root'
mysql_password = 'xxxxxx'
#backup path
backup_path = 'mysqlbackup/'
def validate_backup_path():
if os.path.exists(backup_path) == False:
print "I create a directory here: %s " % backup_path
os.mkdir(backup_path)
def backup_all_databases():
filename = "all_%s.sql" % (datetime.utcfromtimestamp(time.time()))
os.system("%smysqldump -u%s -p%s --all-databases > '%s%s'" % (mysql_path, mysql_username, mysql_password, backup_path, filename))
if __name__ == "__main__":
validate_backup_path()
backup_all_databases()
print "finish!!!"这个是修改了一次的备份脚本,本来是分数据库备份的,无奈制定了分数据库备份需要输入密码,这就不容易加入cron来自动完成了,不过听说在my.cnf中加入mysqldump的设置可以避免输入账号密码,这也算是一个办法吧,不过还是本着简化的思想,只导出所有数据库出来就好,配合着上一篇的dropbox自动备份,这样VPS的灾备就稍稍好些了:)
作者:dawncold
发布时间:April 27, 2012
分类:技术
在这里看过的文章,感觉很不错,于是发表过来,但发现有点问题,我就自己再改改。
安装linux下的dropbox(我的是32为系统,如果是64位在下面地址末尾加上“_64”即可):
wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86
解压后在.dropbox-dist目录中有dropboxd可执行文件,让其在后台执行(就是在执行文件后面加“&”符号)
~/.dropbox-dist/dropboxd &
此后会出现一个地址,你得复制出来然后在浏览器中打开,之后就是注册或者登陆dropbox,这样就激活了在这台机器上的dropbox,就可以同步文件了。
把需要同步备份的文件软连接到Dropbox这个目录中:
cd ~/Dropbox
ln -s /home/wwwroot/
。。。
此时dropbox已经在帮你同步了,你可以通过web端观察。
我看到的文章中带着一个自动运行的脚本,用sh写的,我发现在主机上运行没反应,不会sh,会点python,于是我改写了一下,也是可用的:
#! /usr/bin/env python
# coding: utf-8
import sys
import os
def start():
print "Starting Dropbox..."
os.system("~/.dropbox-dist/dropboxd &")
def stop():
print "Stoping Dropbox..."
os.system("pkill dropbox")
def restart():
stop()
start()
if __name__ == "__main__":
action = sys.argv[1]
print "now action: %s" % action
if action == 'start':
start()
elif action == "stop":
stop()
elif action == "restart":
restart()
else:
print "Bad arguments!"相应的crontab配置文件中这样写就好了:
#auto dropbox
0 4 * * * python /root/dropbox.py restart
0 5 * * * python /root/dropbox.py stop
如果没装crontab(极少情况),这样(也许你用apt-get来做这件事,我的是centos系统,用yum了):
yum -y install crontab
python让我很快乐:)
一开始在python用的是exec来执行命令发现不可用,于是用了os.system,查看pydoc才发现exec是执行python code用的……惭愧!
作者:dawncold
发布时间:October 30, 2011
分类:技术
前几天收到邮件,说是昨晚要升级网络带宽,时间大约30分钟,我也没管这事儿,造成起来看到有服务器宕机的邮件通知,看来昨晚确实网络断掉了。也没感觉速度有什么本质提升呀,我现在就希望在学校中ping值能进200ms就好了,现在是210~20x之间。仍然幻想Linode的东京机房,但那天看到YardVPS已经能保证4个9的上线时间,也就是一年中的下线时间不会超过1小时(大约52分钟)。
作者:dawncold
发布时间:August 13, 2011
分类:技术
安装ppp:
yum install ppp
下载pptpd:
wget -c http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.x86_64.rpm
安装pptpd:
rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm
修改参数:
vi /etc/ppp/options.pptpd
ms-dns 8.8.8.8和ms-dns 8.8.4.4(这里用了Google的dns,你可以用别的)
加入分配IP等信息:
vi /etc/pptpd.conf
localip 192.168.0.1
remoteip 192.168.0.2-30(意思是连接上分配一个2~30的地址)
加入账号密码:
vi /etc/ppp/chap-secrets
用空格分开:USERNAME pptpd PASSWORD * (最后的这个星号意思是不指定IP,自动分给你一个,pptpd是在配置文件中写的一个服务名称,默认就是这个,不用再修改了,你需要更改的就是大写的两组值)
修改转发参数:
vi /etc/sysctl.conf
把net.ipv4.ip_forward = 0改正1保存退出
/sbin/sysctl -p
使刚才配置的转发参数生效,你能够看到系统打印出的参数列表,应该能够看到ip_forward = 1了
启动pptpd:
/sbin/services pptpd start
配置iptables内容:
/sbin/iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 47 -j ACCEPT
/sbin/iptables -A INPUT -p gre -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
解释一下,前两行是开启1723和47端口,第三行是允许GRE协议,最后一行是设置转发到eth0轮询。至于这个轮询的概念我就不太清楚了。转发到eth0也就是说把请求发送到了网卡eth0,这个可以在/sbin/ifconfig看到网卡的名字。
保存iptables规则,重启iptables:
/etc/init.d/iptables save
/etc/init.d/iptables restart
如果原有iptables内容可能会和现有的冲突,所以发现问题后先检查一下这里,毕竟iptables是控制连接的所有出口
下面这两条根据需要执行吧:
/sbin/chkconfig pptpd on
/sbin/chkconfig iptables on
分别是让pptpd和iptables机器再次重启后也能运行。
工作都完成了,连接上试试吧,用pptp方式连接哦,别的方式没用过,应该是不行的。有时候连接上不能访问网页建议断开几次再连接上试试,我曾更改了mtu,发现没什么作用,应该不出问题默认的都能用,服务器一般建立的ppp0、1、2……这些的mtu都是1496,本机对应的是1444,具体算法不想深究。
作者:dawncold
发布时间:July 29, 2011
分类:技术
原来不太敢想象的VPS,现在也买了好几个月了。一开始用起来还很新鲜,配置了好几天,一旦配置完毕基本就不会再去动了,因为服务器最好还是不要乱去碰,除非访问量特别大才有必要每天看看日志什么的。也正是因为这个原因,我曾一度想退出VPS,但舍不得博客中的文字以及开发了好几个PHP程序(虽然不太好),再想想,还想学学Python,还是有这么一个lab环境的好呀。
在博客首页下面加了Google的横幅广告,因为我刚刚看到我已经赚到了1.49美元了,不知道何时才能达到100美元支付给我呢,一点点攒起来吧。
- 1