by wzyboy on 2017-12-17
生活在电子时代,人们每天都在产生数据。写过的文字,拍过的照片,收集过的网络内容,都是数据。对于程序员们来说,写过的代码,服务器的数据库、日志等,也都是数据。然而硬盘故障、服务器宕机等灾害却随时都有可能危害数据的安全。所以数据需要备份。正如某程序员的语录:
冗余不做,日子甭过;备份不做,十恶不赦!
Xin LI
本文介绍一款优秀的备份方案:BorgBackup。
一、为什么选择 BorgBackup
BorgBackup 的主要优势(总结自官方文档):
高效:BorgBackup 会将文件按数据块去重,只有改动的数据块才会被备份。一个 25 GiB 的虚拟机磁盘文件,只改动了 1 GiB,那就只会新增备份这 1 GiB 的数据;
高速:核心算法使用 C 编译,使用缓存快速跳过未改动过的文件以加快备份速度;
加密:数据默认是 AES-256 加密并且 HMAC-SHA256 校验的;
压缩:支持多种压缩算法,可自动检测数据是否属于可被压缩的类型;
异地备份:原生支持 SSH 备份到异地服务器,也可使用 NFS 等网络存储;
可挂载:可以直接用 FUSE 挂载一个备份存档读取里面的数据;
跨平台:支持 Lin ……
by wzyboy on 2017-12-17
Disney 的动画电影 Coco 以墨西哥节日亡灵节(Día de Muertos)为背景,讲述了小男孩 Miguel 追寻自己梦想的故事。电影中,已经去世的亲人会进入亡灵的世界继续生活,并且只要有生者记得他们,并在亡灵节当天把他们的照片放在祭坛上,他们便可以在那天暂时回到生者的世界看望自己的亲人。而一旦不再有任何生者记得他们了,他们便会化为一片光辉,达到「终极死亡」。
最近将博客从 WordPress 迁移到了 Lektor,昨天和 Jimmy Xu 聊天时谈到迁移过程中遇到的各种有趣的事情,也聊到了 link rot 的问题。继而想到,我们在互联网上发布的内容,包括创作的文字、拍摄的照片与视频等,只要还有人转载、引用,即使创作者已经自己不记得了,互联网也会记得这些内容,而当整个互联网都忘记了这些内容,那这些内容也就「终极死亡」了。
以下内容主要由我和 Jimmy Xu 的聊天记录整理而成。有删改。
外链图片
在 WordPress 里上传的图片都是存储在 /wordpress/wp-content/uploads/ 目录里的,而迁移到 Lektor 之后这些路径就不再存在了。自己文章里引用的图片地址 ……
by wzyboy on 2017-12-15
尝试了一下 Lektor 这个静态内容管理系统,觉得挺好用的,于是把博客从 WordPress 迁移到了 Lektor。
一、动态博客与静态博客
本博客的历史可以追溯到 2009 年,至今已经 8 年,曾使用过 Blogger 和 WordPress 作为博客软件。头几年写博客热情高涨,比较高产,而近几年由于种种原因,已经很少写博客了,最近两年基本是一年一更的节奏。博客本身也疏于打理,偶尔想起来,登录一次 WordPress,等待我的却是满满一筒的垃圾评论(被反垃圾插件过滤的),偶尔还能从垃圾筒里捞出几个被误杀的非垃圾评论。除此之外的例行便是点一下 WordPress 里的升级按钮,把 WordPress 本身和各种插件、主题全部更新成最新版本。
前段时间无意中发现了 Lektor 项目。阅读了一下作者的自述,产生了不少共鸣:
The longer I'm programming and creating software, the more I notice that I build a lot of stuff that requires maintenance even though it shoul ……
by wzyboy on 2016-03-21
前段时间入手一台 Gen8 服务器,主要用来做网络存储。光做网络存储显然太浪费了,感谢 ESXi,一机多用很方便。本文介绍如何在家庭服务器上搭建简单好用的网络质量监控系统。
一、选材
说到网络质量监控,大部分人会想到著名的 SmokePing。SmokePing 的确是经典工具,但未免老旧,配置也略复杂。本文使用 collectd 作为收集工具,Graphite 作为存储工具,Grafana 作为展示工具。这些工具符合「专做一件事情并把这件事情做好」的 Unix 哲学,配置灵活、功能强大。
整体结构是这样的:
二、收集:collectd
正如其名字所暗示的那样,collectd 是一个收集系统各项指标的进程。它自带很多插件,也可以通过自定义插件和数据类型的方式增加更多的收集项。网络质量监控主要用到其中的 ping 插件,该插件依赖 Liboping 这个库。这两个项目在主流 GNU/Linux 发行版中都有打包。
使用你最喜爱的包管理器安装 collectd 和 liboping 之后,使用你最喜爱的编辑器打开 /etc/collectd.conf 文件。这是一个带有详尽注释的超长配置文件,要让 ping ……
by wzyboy on 2016-03-14
曾经,一台共享空间的 PHP 「虚拟主机」在大部分人眼里就是很高级的「服务器」了,后来随着虚拟化技术的发展,OpenVZ, Xen, KVM 虚拟机越来越普及,Linode 和 DigitalOcean 更是将 $10/mo 的廉价 VPS 推广开来,VPS 可以做很多 PHP 共享主机做不到的事情。近两年,随着越来越多中小企业的发展,「微型服务器」的概念也慢慢出现了。HP ProLiant MicroServer Gen8 就是其中的一员。最近我也入手了一台,当家庭服务器使用。
一、购买
Gen8 是 2013 年的产品了,现在的售价已经比刚出来时便宜不少了。爱折腾的可以去海淘一个便宜的版本,我为了省事就直接在〇东上购买了。〇东上提供了三个型号,分别是:
Intel G1610 CPU + 2 GB RAM
Intel G2020 CPU + 2 GB RAM
Intel E3-1220Lv2 CPU + 4 GB RAM
主要的区别就是在 CPU 了,三款 CPU 分别是赛扬(Celeron)、奔腾(Pentium)和至强(Xeon)系列的产品,价格也由低到高。然而这内存实在是令人郁闷,两条插槽明明 ……