服务运维

进程管理

PM2 是由JavaScript运行时环境Node.js实现的进程管理工具,提供集群模式、监控、日志和热重载等功能,支持多操作系统平台。
官方网站
项目 Github

Supervisor 是早先为Unix系统下设计的进程管理工具,由Python实现。可以中心化的管理多个服务进程,能够准确的监测活动状态,并提供Web界面。

备份

Rsync 是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输。rsync中一项与其他大部分类似程序或协议中所未见的重要特性是镜像对每个目标只需要一次发送。rsync可拷贝/显示目录内容,以及拷贝文件,并可选择性的压缩以及递归拷贝。

资源
Samba - Rsync

应用
基础实践


fwbackups 提供了一个简单但功能强大的界面,可以轻松执行备份。
官方网站
项目 Github

容器化

Docker 是一个开放源代码软件项目,让应用程序布署在软件容器下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。Docker利用Linux核心中的资源分脱机制,例如cgroups,以及Linux核心名字空间(name space),来创建独立的软件容器(containers)。这可以在单一Linux实体下运作,避免引导一个虚拟机造成的额外负担。


Shipyard 组建在Docker Swarm的基础上,可以让您管理Docker资源,包括容器,图像,私人注册表等信息。
官方网站

监控

Monit 是一个用于在UNIX系统上管理和监视,进程,文件,目录和文件系统的免费开源实用程序。 Monit可以对目标进程进行自动维护和修复。

持续集成

Jenkins 提供了软件开发的持续集成服务。它运行在Servlet容器中(例如Apache Tomcat)。它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批处理命令。Jenkins的主要开发者是川口耕介。Jenkins是在MIT许可证下发布的自由软件。