bittorrent+sync+java_使用BitTorrent-Sync实现双机文件双向同步
BitTorrent-Sync是一款基于P2P的分布式文件同步工具,简称btsync,非开源软件但免费使用。本文使用btsync实现两台服务器上的软件双向同步。
安装
直接从官网下载相应的安装包,为了在Linux服务器上安装,使用的是Linux x64版本BitTorrent-Sync_x64.tar.gz。
然后解压到指定的文件夹,即可执行程序。
sudo mkdir -p /usr/local/btsync
sudo chown shenfeng /usr/local/btsync
tar -zxvf BitTorrent-Sync_x64.tar.gz -C /usr/local/btsync/
进入解压后的目录,可以看到3个文件,其中btsync为可执行文件。
$ ls
btsync LICENSE.TXT README
执行--help可以查看帮助信息
./btsync --help
BitTorrent Sync 2.3 (239)
Usage:
btsync [ options ... ]
Options:
--help Print this message
--config Use a configuration file
--storage Storage path for identity and license
--identity Creates user identity
--license Apply owner license
--nodaemon Do not daemonize
--dump-sample-config Print a sample configuration file
--log Set log file
--webui.listen :Set the webui listening interface
--generate-secret Generate a read/write key
--get-ro-secret Get the read-only key associated to a read/write key
配置
编写启动脚本。
$ sudo vi /etc/init.d/btsync
#!/bin/sh
#
# description: starts and stops the btsync client
CONF=/usr/local/btsync/btsync.cfg
PROC=/usr/local/btsync/btsync
PIDFILE=/usr/local/btsync/btsync.pid
start() {
PID1=$(pidof btsync)
if [ -z ${PID1} ]; then
echo -n "Starting BitTorrent Sync: "
${PROC} --config ${CONF}
else
echo "BitTorrent Sync is already running at pid:${PID1}"
fi
return $?
}
stop() {
echo -n "Stopping BitTorrent Sync: "
PID1=$(pidof btsync)
if [ ! -z ${PID1} ]; then
kill -9 ${PID1}
echo "OK"
else
echo "Failed"
fi
return $?
}
status() {
PID1=$(pidof btsync)
PID2=$(cat ${PIDFILE})
echo -n "Checking BitTorrent Sync: "
if [ ! -z ${PID1} ] && [ "${PID1}" -eq "${PID2}" ]; then
echo "OK"
else
echo "Failed"
fi
return $?
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
status)
status
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 2
esac
编写启动配置文件
{
"device_name": "vm_2",
"listening_port" : 8889, // 0 - randomize port
"check_for_updates" : false,
"use_upnp" : false,
"storage_path" : "/usr/local/btsync",
"pid_file" : "/usr/local/btsync/btsync.pid",
"download_limit" : 0, // 0 - no limit
"upload_limit" : 0,
"webui" :
{
"listen" : "0.0.0.0:8888",
"login" : "admin",
"password" : "btsync"
}
,
"folder_rescan_interval" : 1,
"lan_encrypt_data" : false,
}
启动程序,通过web页面进行登录和后续配置。
$ /etc/init.d/btsync start
Starting BitTorrent Sync: By using this application, you agree to our Privacy Policy, Terms of Use and End User License Agreement.
https://www.getsync.com/legal/privacy
https://www.getsync.com/legal/terms-of-use
https://www.getsync.com/legal/eula
Webui is listening on 0.0.0.0:8888
BitTorrent Sync forked to background. pid = 15002
在浏览器页面登录控制页面,即服务器IP+8888端口。
使用配置文件中的账号密码进行登录。
在启动一台主机上,点击左上角的Add Folder按钮,增加需要同步的目录。
确认打开目录后,会生成该目录的Key,因为需要双向同步,那么选择READ+WRITE的Key。
登录第二台服务器,登录后,点击Add Folder的第三个选项。填入上面复制的Key之后,选择本地用于同步的目录就可以进行同步了。
参考文档
bittorrent+sync+java_使用BitTorrent-Sync实现双机文件双向同步相关推荐
- future.channel().closeFuture().sync()作用 bind(port).sync()作用
一. 实例 例子1 public class NettyServer {public static void main(String[] args) throws InterruptedExcepti ...
- 文件夹同步/备份软件推荐 (SyncToy/FreeFileSync/Compare Advance/GoodSync/Allway Sync/Compare Advance)...
关于文件同步的文章,已经很多次出现在异次元上了,因为它们很多都能实实在在提高工作便利性.比方说有我们熟悉的云端同步软件 Dropbox.金山快盘,以及曾经还介绍过可本地使用的 Allway Sync ...
- linux sync命令,Linux中sync命令起什么作用呢?
摘要: 下文讲述Linux中sync的功能说明,如下所示: sync命令功能: 用于强制将改变的内容立刻写入磁盘 注意事项: 用户通常不用运行sync命令,系统会自动运行 update或bdflush ...
- Radware负载均衡项目配置实战解析之四-VRRP双机配置与同步
接上一小节内容,这一节主要介绍RADWARE负载均衡实战项目中的VRRP双机配置与同步问题.radware在实际的业务与配置中,一般都会配置双机来实现冗余.无论是主用设备还是备用设备都要进行基本配置. ...
- 五款文件夹同步工具你会选择谁?(GoodSync/FreeFileSync/SyncToy/Allway Sync/Compare Advance)
http://www.itopdog.cn/utilities-operating-systems/backup-software/sync.html
- 一个简单的BitTorrent客户端实现(二):种子文件解析及信息保存
关于种子文件 BT的种子文件一般是以.torrent作为后缀的.关于种子文件的编码,这里不再做任何介绍.本程序采用的测试种子文件为ubuntu-14.04.3-desktop-i386.torrent ...
- core sync是什么软件_强制删除文件CoreSync_x64.dll
如果你在Windows中安装过abode CC系列软件,在 C:\Program Files (x86)\Common Files\adobe\CoreSyncExtension 下会有一个CoreS ...
- sync vertical_垂直同步,Vertical sync,在线英语词典,英文翻译,专业英语
补充资料:时间同步与频率同步 时间同步是通过时刻比对将分布在不同地方的钟的时刻值调整到一定的准确度或一定的符合度.前者称为绝对时间同步(也称对时),后者称为相对时间同步.频率同步是通过频率比对将分布在 ...
- folderutils.java_值得分享的超全文件工具类FileUtil
结合以前的项目开发中遇到的不同的文件操作,在这里基本上提取出了所遇到过的文件操作的工具类. 1 我项目中用到的文件工具类 1 读取raw文件.file文件,drawable文件,asset文件,比如本 ...
- protoc 命令 java_用proto命令生成java文件
1.下载: https://code.google.com/p/protobuf/downloads/list 下载 protoc-2.5.0-win32,然后解压,配置protoc环境变量 2.cm ...
最新文章
- 100c之36:不同鸡的数量
- 博途v15安装过程中提示出错_博途V15.1安装及无限重启和.net3.5SP1错误处理解决方法...
- 学业水平考试网登录_2019山东高中学业水平考试报名系统入口http://xysp.sdzk.cn
- java 小数处理_java 小数点处理
- JSF MVC 流程
- qt判断读入的字符串是否含有英文_重复的子字符串
- 文字处理技术:新布局思路验证成功
- python使用什么关键字声明匿名函数_Python通过关键字____创造匿名函数。
- css-图片模糊处理
- Matlab 常用快捷键
- [Excel]常用技巧
- texi格式文件的读取
- 网速dns怎么调快_手机dns怎么设置网速快
- 按键安卓非线程接入注册码系统
- 如何提升自己电脑网速
- C++编程最基础练习题(1-10) 小白入门必刷
- 贱贱的美团安卓客户端
- 文言文编程可以编译成PHP吗,GitHub开源的文言文编程语言、程序生成中国山水画、格律诗编辑程序...
- 计算机图形学期末复习
- mysql查询高于部门平均工资_Oracle数据库中 查询高于自己部门平均工资的员工信息 用相关子查询怎么做啊?...
热门文章
- JAVA实现类泡泡屏保效果
- 玛雅日历转化(Maya calendar,POJ1008, UVA300)
- 最新BBS上的变态网名大全
- matlab fft 采样点数,MATLAB中的FFT的采样频率和采样点怎样确定
- CSDN博客专家申请成功
- 帖子—评论的数据库设计和代码实现(思路记录)
- 【设计】资料合集(1-121)副业学习会
- signature=e7411d00c74ac359f20083a015dc6ea9,MS12-020:遠端桌面的弱點可能會允許遠端程式碼執行:2012 年 3 月 13 日...
- java applet.newaudioclip_Java Applet
- java-家庭作业2