机房有内网系统仓库的需求,看了一下清华大学有现成的开源项目tunasync,可以很方便的进行管理,搭建也很简单,所以直接用就可以了
接下来开始记录分步的步骤,系统为CentOS7
tunasync只是一个管理软件,本质上还是rsync,所以我们一开始就需要安装下依赖
yum install rsync -y
接着下载tunasync并解压,然后将二进制的文件移动到/usr/bin下
wget https://github.com/tuna/tunasync/releases/download/v0.7.1/tunasync-linux-amd64-bin.tar.gz #基于amd64,如果是ARM系列,请去https://github.com/tuna/tunasync/releases自行替换下载一个 tar xf tunasync-linux-amd64-bin.tar.gz mv tunasync /usr/bin/ mv tunasynctl /usr/bin/
创建仓库文件夹
mkdir -p /home/mirrors
创建日志文件夹
mkdir -p /home/logs
创建配置文件夹
mkdir /etc/tunasync
创建manager的配置文件
vi /etc/tunasync/manager.conf
将以下内容根据自己的需求修改后写入manager的配置文件内
debug = false [server] addr = "127.0.0.1" #manager服务的监听地址,默认127.0.0.1一般就可以了 port = 12345 # manager服务监听端口 ssl_cert = "" #证书配置,可为空 ssl_key = "" #证书配置,可为空 [files] db_type = "bolt" db_file = "/etc/tunasync/manager.db" #数据库文件位置 ca_cert = ""
创建worker.conf配置文件
vi /etc/tunasync/worker.conf
将以下内容根据自己的需求修改后写入worker的配置文件内,mirrors部分仅作示范写了两个,可以根据自身需要自由添加或删减
[global] name = "worker" # worker名字 log_dir = "/home/logs/{{.Name}}" # 日志存储位置 mirror_dir = "/home/mirrors" # 仓库存储位置 concurrent = 10 # 线程数 interval = 240 # 同步周期,单位分钟 [manager] api_base = "http://127.0.0.1:12345" # manager的API地址 token = "" ca_cert = "" [cgroup] enable = false base_path = "/sys/fs/cgroup" group = "tunasync" [server] hostname = "localhost" listen_addr = "127.0.0.1" listen_port = 6000 ssl_cert = "" ssl_key = "" [[mirrors]] name = "centos" provider = "rsync" upstream = "rsync://ftp.kaist.ac.kr/CentOS/" use_ipv6 = false [[mirrors]] name = "ubuntu" provider = "rsync" upstream = "rsync://ftp.kaist.ac.kr/ubuntu/" use_ipv6 = false
下载tunasync启动停止脚本
wget -P /etc/init.d/ https://raw.githubusercontent.com/whsir/tunasync-bin/master/tunasync-manager wget -P /etc/init.d/ https://raw.githubusercontent.com/whsir/tunasync-bin/master/tunasync-worker chmod +x /etc/init.d/tunasync-manager chmod +x /etc/init.d/tunasync-worker
启动服务
/etc/init.d/tunasync-manager start /etc/init.d/tunasync-worker start
到这里为止,自建仓库就算完成了,可以通过以下命令来查看进程
tunasynctl list -p 12345 --all
如果没有特殊的对外展示需求,直接安装一个nginx或者apache,把网站根目录设置为/home/mirrors就可以进行访问了
此次使用tunasync搭建后的效果如以下网站
http://mirror.moack.co.kr
文章评论