大学时买的笔记本一直闲置在自己手里,最近正好想研究下Resilio Sync软件,便拿出自己的笔记本安装上该软件研究了一下。然后想到自己一直想利用树莓派打造一个家庭用的文件共享及备份系统,便对笔记本折腾了一下,算是提前进行实验一番,等到树莓派到手以后便可以直接部署设置了。以下是各个软件的使用目的及配置方法。
Resilio Sync
Resilio Sync(原名”BitTorrent Sync”)是由BitTorrent公司开发的专有的对等网络数据同步工具,可在Windows、OS X、Linux、Android、IOS和FreeBSD上使用。其可在局域网、互联网上通过安全的、分布式的P2P技术在不同设备之间同步文件。
从上面的介绍可以看到,使用Resilio Sync可以在局域网、互联网上在不同设备之间同步文件。因此便想到借助该软件实现不同终端之间的文件备份,此时由于自己工作的笔记本是公司发的ThinkP(Win10),由于无需实时备份文件,自己不想在上面安装Resilio Sync,便想到了使用Samba文件夹共享的方式进行文件共享。
安装
- 根据自己的服务器操作系统从官网对应的软件。由于我的是Linux系统,所以自己就只说明下Linux中的配置。从官网中下载下来的是一个tar.gz文件,解压之后会有一个名为rslsync可执行文件,无需编译。(Resilio Sync 2.6.0)
- 解压之后,运行
./rslsync --dump-sample-config > sync.conf
命令,将配置样例输出到sync.conf文件当中
配置
本文只会记录需要的基本配置,其余的自行探索(Resilio Rsync大部分设置均可通过WEB-UI的方式进行更改)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15"device_name": "Data Center",
"listening_port" : 9999, // 配置程序监听的端口,该端口不是webui的监听端口,因此可不必特意设置
"storage_path" : "/home/rslsync/.sync",
"webui" :
{
"listen" : "0.0.0.0:8888" // 监听端口,默认是127.0.0.1,如果是在远程部署的话,建议监听0.0.0.0或VPS的端口地址,不然无法访问WEB-UI,便无法管理系统。
/* preset credentials. Use password or password_hash */
,"login" : "admin"
// ,"password" : "password" // (not recommended, better use 'password_hash_unified')
// ,"password_hash" : "<crypt() 3 format password hash>" // (not recommended) Works on *nix only!
// Use either 'password_hash' or 'password_hash_unified' (recommended), but not both of them!
,"password_hash_unified" : "4ADCA2D9F8************************************DDC53EE94182228587" // 16进制的SHA256字符串,配置后不要忘记重启一次。
}
运行
- 使用
./rslsync --config sync.conf
命令运行Resilio Rsync软件 - 在浏览器中输入WEB-UI监听的地址与端口,然后在认证窗口中输入用户名和密码(生成sha256的字符串)
- 通过输入密钥或链接的方式,同步多个设备之间的文件(IOS系统只能同步照片,电子书等文件则需要挨个通过客户端打开的方式进行同步…….)
注意,国内对该软件做了屏蔽,因此需要翻墙下载,国内有一款微力同步的软件可以使用,同时还有Syncthing软件实现局域网的同步,由于精力等原因,自己未对这两个软件做测试,大家可根据自己的需求自行搜索下载进行测试
问题
- Resilio Sync是单向同步软件,不可以双向的同步文件(Resilio Sync本来就是为了在网络中共享文件的,而不是专门的双向同步软件)
Samba
Samba用来让UNIX系统的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协议做链接的自由软件。
前面已经说过了,由于我的主力电脑是公司发的ThinkPad,自己需要每天背着往返于公司、客户之间,因此不想安装一些乱七八糟的软件。有时需要与自己的备份系统之间传输一些文件,故采取了共享文件夹的方式。
安装
使用的debian系统,配置中科大的软件镜像源,因此直接采用apt的方式安装。
安装命令:apt-get install samba samba-common-bin
配置
服务配置
Samba服务器配置主要分为global、homes、printers、sharefiles四种配置,其中global:系统的全局配置,影响整个软件的运行;homes表示为每个samba用户定义其是否能够通过samba服务访问自己的家目录;printers定义打印服务;sharefiles自定义共享的文件系统。本次试验中主要讲解一下global与sharefiles的基本配置。
- global配置
全局配置,在该选项中配置软件基本运行的参数。主要的配置参数如下:
1 | # 配置Samba Server要加入的工作组或域,需要与Windows中的配置一致。 |
- sharefiles配置
共享部分的配置,用于为每个共享的文件夹进行配置。也可以在共享部分中设置全局配置,默认共享设置的优先级高于全局配置。
1 | # 共享文件夹名称 |
- 引用配置文件
- 第一种
1 | [global] |
- 第二种
1 | [global] |
区别:使用config file时,当以kevin的身份访问Samba服务器时,只能看到Kevin,其它在smb.conf中定义的共享资源都无法看到
使用include时,当以Kevin的身份访问Samba服务器时,除了可以看到Kevin,其它在smb.conf中定义的资源也可以看到
- 默认变量
- %U: 当前连接的用户名
- %u: 当前服务的用户名
- %g: 当前用户的用户组
- %G: 当前连接用户的用户组
其它设置
- 检测配置文件
1 | testparm smb.conf |
- 添加用户
samba账号必须要存在于Linux系统中(/etc/passwd),但其密码却是单独维护的。创建samba用户数据需要使用pdbedit,pdbedit命令用于管理smb服务的账号信息
1 | pdbedit -a username |
- 修改密码
1 | smbpasswd username |