最近在:http://mosir.org/ 的网站上发现一些好文章。比如这篇我要转的这篇。毕竟我现在用的就是VPS,用VPS的话,你也知道,最担心的是什么?有几点?
1、服务器的母机会突然挂掉(当然任何机器都会有这种情况)。怎么样快速转移,或者是有备份机?(小网站可能就是在等待了)
2、母机商跑路。这个嘛,在大家的VPS经历里还是会遇到过的。现在都是推荐选择大一点的供应商,比如virtualhost/linode/ovh等。我现在尽量不选择太便宜的,贵就贵一点,稳定。。。
3、备份,你总不能完全相信说服务器商对你说的,都是用的raid1服务器吧?总有万一的时候,这时候怎么办?
其实早些年都有一些脚本在网上流传,比如,mysql定时备份,自动发邮件到自己邮箱。(小网站都没问题,mysql最多也就上百M,每天增量的话,也没多少,就算全量,现在的mail其实也完全可以。大不了再压缩一下。大不了再切割一下,总能解决),对于代码什么的,现在都会想着是git发布/svn发布等,代码也能够保存在本地。然后附件直接存储到第三方。所有的就都解决了。但毕竟这样是存储在多个地方了。
于是这才是我转贴本文的原因,原文来自:http://mosir.org/html/y2012/use-dropbox-backup-vps.html
XML/HTML代码
- vps的定期备份是一件很必要的工作。大多数idc并没有提供免费的vps备份空间,这就需要我们自己来完成这个工作了。
-
- 一般情况下,得自己打包需要备份的数据,然后下载到本地,但这太麻烦。也有人通过lftp及脚本工具将需要备份的数据上传到某些ftp服务器上,但这也不稳妥。想找个稳妥的方法似乎只能出钱买备份空间了。
-
- 还好Dropbox提供了比较大的免费空间来让我们备份数据,申请了帐号后,只有2G空间,但可以很容易的扩展到20G左右,用来备份vps上的程序和数据也够了。如果需要更大的空间,可以考虑购买。
-
- 当然,靠谱的网盘有不少,但使用起来方便的并不多。这里就只考虑dropbox了。
-
- 在vps里的安装方法很简单,官方的说明在这里:https://www.dropbox.com/install?os=lnx
-
- 步骤如下:
-
- cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -
- 这会在vps服务器上当前用户目录下创建.dropbox-dist目录并解压所有所需文件。
-
- 接下来运行dropboxd
-
- ~/.dropbox-dist/dropboxd
- 它会自动在用户目录下创建Dropbox目录。
-
- 然后你会看到不断出现类似这样的提示:
-
- This client is not linked to any account...
- Please visit https://www.dropbox.com/clilink?hostid=6a57828b2191161aea851e72a48f8451&cl=en_US to link this machine.
- 不要中断dropboxd的运行,将https://xxx链接复制出来,打开浏览器登录你的dropbox帐号,再把这个链接复制到浏览器打开,将vps机器加入到你的帐号中。
-
- 然后,有什么需要备份的打包后丢到~/Dropbox目录下即可。
-
- 因为dropboxd大约要占用2XM~1xxM的内存,所以同步完成后,按Ctrl-C中止其运行即可。
-
- 也就是说需要备份时运行dropboxd,备份完就中止它。
-
- 如果vps内存充足,也可以把它作为一个服务运行。可以下载官方的控制脚本:https://www.dropbox.com/download?dl=packages/dropbox.py,编辑rc.local,加入
-
- /yourpath/dropbox.py start
- 这样,vps启动后就会自动运行dropbox,保证只要有新的备份文件被放到Dropbox目录就立即被同步到dropbox网络存储空间里去。
-
- 如果只希望同步dropbox目录下的某个子目录,或不希望同步某些子目录,可以自己参考修改dropbox.py,大约在1105行,这里有个排除列表的函数及使用说明。
-
- 完成。
赞。过两天试试
重启apache的时候报错:
/etc/init.d/apache2 restart
[....] Restarting web server: apache2apache2: apr_sockaddr_info_get() failed for (none)
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
... waiting apache2: apr_sockaddr_info_get() failed for (none)
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
. ok
看到这个(none),让我想起,我的ssh的登录路径:root@(none):~#
OK,在老鬼的提示上,用hostname函数进行了设置。问题解决:
root@(none):~# hostname
(none)
root@(none):~# hostname neatstudio.com
root@(none):~# hostname
neatstudio.com
--做个笔记
关于think2go的介绍,我自己是写了一篇,但因为第一次写的内容不慎消失,后面是重写的。心情和精力都不佳了。
以下是部分内容,详细的话,还是去点击上面的链接吧。。。
摘选 :
首先是谢大闪亮登场,为我们分享他用Go语言在盛大的CDN系统中的应用,大家鼓掌。
我觉得讲的主要内容上可以分两大块来看,一部分是从中心结点到IDC的文件分发过程,另一部分是用户请求到达之后的调度设计。
主要应用场景像什么游戏客户端的分发之类的。先说中心结点服务器到IDC服务器的分发过程。
谢大在讲这些东西时还给我们展示了一下代码,很赞!
上一部分的内容基本是内部传输部分,从中心服务器分发到IDC。接下来是另一部分,调度器的设计部分。
调度器设计就是要考虑,根据网络情况,地理位置,当前各个服务器负载等等,来一个下载请求,决定取哪一台机器给用户提供下载服务。
CDN的基本技术,就是通过用户的IP段,查找他属于哪个网络,电信,网通?然后分配相应网络的服务器给用户提供下载。他们以前的做法是,只要找到同网络的服务器后,随机分配一台给用户提供服务。随机分配存在的问题是,服务器的负载不均衡,可能有的机器忙不过来了,而另一些却闲着。
盛大有个IP库,记录了各个IP段所处的网络,对应的分配服务器。这个在代码中谢大是用treap数据结构体存的,treap是一个kv数据结构,通过二叉树进行查找,通过一个随机权值保证树的平衡。我尚不明白这里为什么选用treap数据结构。使用treap数据结构的结点权值,和服务器负载之间是否有关系?不是吧(期间我去WC了,这里漏了一些内容)。
现在添加了负载分配的部分,会给服务器加上状态。比如优先挑选同网络服务器上负荷较低的机器,如果各个机器负荷都是中等的,则随机挑选一个。如果都到满负荷了,这时则不局限于同网络了,从全局服务器中随机挑一个,总不至于给用户返回404吧。
据谢大称,用Go语言实现以后,目前的系统相比以前的传输速度大大提升,传大文件速度是几乎原来的十倍了,小文件的提升也有30%。用户下载也明显变快了。最后谈到了下阶段可做的优化。其中有一点就是处理上行和下载之间的带宽。有时候几十G的文件任务啪一下就过来了,目前是没有限制的,这样会占用大量带宽,对已在进行中的用户服务造成影响。
接着是邵天宇带来的分享。其实我个人觉得他分享的内容跟Go语言的主题并不算太搭,个人觉得他项目中做的很多事情选择别的语言,别的开源库可能会做得更好,并没有突出Go语言的优势,选择Go只是他强烈的个人偏好而已,这个我持保留态度。这是这位同学第一次做这种分享,不管怎么样,即然使用了Go也算是Go语言的实践了,并且内容方面我认为还是比较精彩的。
微博数据分析中,我觉得可以分以下部分看吧,先是数据源的获取,接着是数据存储,然后是数据分析。
他先给我们介绍了他的开源库的选型。数据源的获取中,他是自己写的爬虫抓取微博的数据,给我们展示了Go的interface在这里的使用,一个url加一个handler。分词和索引方面之前他尝试用wukong的Go语言开源库,但是这个库有个问题是不做持久化,数据全部存放在内存的。内存占用量非常大,在与作者沟通并没得到满意的解决之后,转而使用Es..search(名字记不清了)【是:Elasticsearch + IK 】。列举了好多的开源项目,相信他是做了不少的调研工作。
还提到了他们以前系统是用php做的,硬件用的16核CPU,32G内存,而现在改用Go语言之后只用普通的PC机就能跑了。他还列举了好多数据,微博的活跃用户数啦,抓取的记录数啦,各种...反正是用数据说话,不明觉历啊,呵呵。【在这里我要提一下,他说原来是用python的】
golang与高强度在线服务
由韩拓给我们分享的,标题临时换了一下,他坦承"golang与高强度在线服务"这个标题有点太装B了。这个分享就比较高度抽象了,没有谈具体的项目,算是一些Go的使用经验吧。
中间有很多,我能记得的包括他们公司的panic是不能抛到进程级别的,必须在goroutine捕获。
像内存使用方面,不使用Go做大内存(大于1G)的服务。合适的东西做合适的事,这是我的感触,比如Go+memcached。主要是Go的垃圾回收不算完善,大量内存分配,回收时会卡。而C语言写的像memcached什么,肯定更专业。
http作为最基本的通信协议。
cgo是尽量避免不要使用的,即使像音频视频转码这类的,只有C的库,他们的做法是用C程序写成服务了让Go去调。
还有什么内存对齐,大多都是七牛公司踩过坑之后约定的一些使用习惯。给我印象比较深的是他们的log处理,他们重写了log的包,提供程序log和事务log两类日志。
---
更详细的请看上述链接。比我写的好多了啦 。
今天鼠标的左键突然失效,这是用mac系统以来第一次发生这种事情。让我非常震精,因为刚刚升级到了10.8.5,我以为是升级导致的,所以我google了一下,居然发现很多人有这样的问题。
看这里:http://bbs.weiphone.com/read-htm-tid-5168399.html
有人的解决方法是:关上盖子,等一段时间就好了
有人的解决方法是:关闭蓝牙,再重启
当然也有人选择了重启蓝牙鼠标,这TMD居然也正常了?(因为原来连触摸版的左键也不正常,所以才纳闷)
所以我比上文中那位关闭蓝牙鼠标的人幸运多了。不知道以后还会不会发生类似情况。做个记录。。
这是上文链接中的页面所讨论的内容
- 《[讨论]MAC下左键失灵问题的追踪和探讨》 http://bbs.weiphone.com/read-htm-tid-2709680.html
- 本人自用的MBP374,Mac版本雪豹10.6.8
- 现象:mac下突然出现蓝牙鼠标左键和触摸板单指击同时失灵的情况:移动鼠标有指针的相应移动,有鼠标右键和双指点击鼠标右键的正确相应。但是把鼠标指针放到Dock上时,没有相应的图标放大的效果。也无法实现用鼠标左键关闭窗口等操作。但是可以用键盘上的按键:可以Command+W关闭窗口等。
-
- 问题出现前,曾在Bootcamp下进入Windows 7系统,并在win7下进行了Flash的更新。然后在Mac下尝试使用safari 5.1,为了装支付宝插件,结果发现又不支持safari5.1,遂作罢。然后在safari下安装了Ad block和expose两个插件,然后就不记得什么了。。。后来就出现了上面的情况。随后尝试在启动时按shift进入安全模式;尝试启动时按command+option+P+R复位什么PRAM吧,都不能解决问题。
-
- 在我认为没有办法的时候,合上了笔记本休眠,在过了几个小时后再唤醒后,发现问题消失了。这个时候蓝牙鼠标没有开,但触摸板单击是可用的。然后我又做了磁盘权限的修复。删除了safari下刚刚安装的插件(属于乱投医)。不知道是否可以避免问题的在此出现。
-
- 先把问题出现的情况记录下来,万一以后再次出现,也好有个进一步和大家分享的机会。
- 今天晚上在使用中再次出现了问题,并发现:用鼠标右键选择关闭bluetooth后,触摸板就工作正常了。
-
- 但是直接重新启用蓝牙后,蓝牙鼠标和触摸板的左键又都不能用了。
- 后来我又发现,把蓝牙关闭后,关闭鼠标上的电源开关,重新打开蓝牙后再打开开关,发现设备重新连接后,问题解决了。
-
- 我的鼠标是罗技的V470,并且已经安装了罗技的相对动应用程序。不知道是罗技的硬件问题,软件问题还是苹果的雪豹问题?
-
- 独家奉献,供大家参考切磋。
- 还有这位同学也遇到了同样的问题:http://bbs.weiphone.com/read-htm-tid-1341319.html 2010年的帖子,话说这个异象是一年投胎一次么?
-
- 我的情况:rMBP,Mountain Lion,罗技M555b鼠标,同样复现了这个问题两次。
-
- 第一次重启机器没有解决问题,一怒之下重启了第二次,问题没有了。
-
- 第二次不想重启,试图从蓝牙角度解决此问题。直接关掉自己的蓝牙鼠标,没有效果。想关机器的蓝牙,但坑爹的mac系统居然无法用tab键选择复选框,研究了十多分钟无果。气得发了5分钟愣……然后居然自动好了。
-
- (蓝牙覆盖范围中另有一Magic Mouse,这个时间里关掉了,不知是否与此有关)