530 words
3 minutes
Linux 安装VerySync微力同步教程

1.下载解压#

下载verysync,解压到 /home/verysync

编辑 /etc/profile

vim /etc/profile

添加verysync的路径,在最后一行加入如下内容

export PATH="/home/verysync:$PATH"

保存、退出后执行

source /etc/profile

2.创建verysync.service服务启动#

vim /usr/lib/systemd/system/verysync.service

添加如下内容

[Unit]
Description=verysync
After=network.target
[Service]
Type=forking
ExecStart=/home/verysync/vsserver.sh start
ExecReload=/home/verysync/vsserver.sh restart
ExecStop=/home/verysync/vsserver.sh stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target

退出保存,执行

systemctl enable verysync

3.创建/vsserver.sh启动命令#

vi /home/verysync/vsserver.sh

添加如下内容:

#!/bin/bash
cd `dirname $0`
# Your program
APP_NAME=verysync
ARGS='-gui-address 0.0.0.0:8886'
LOG_FILE=./running.log
help(){
echo "Usage: [start|stop|restart|status]"
exit 1
}
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
# if progress is exist then return 1,else return 0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
start(){
is_exist
if [ $? -eq 0 ]; then
echo "${APP_NAME} is already running. pid=${pid}"
else
nohup ./${APP_NAME} ${ARGS} > ${LOG_FILE} 2>&1 &
echo "${APP_NAME} is start successfully, use 'log' option to print more info."
fi
}
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
echo "${APP_NAME} is stoped"
else
echo "${APP_NAME} is not running"
fi
}
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}
restart(){
stop
sleep 2
start
}
log(){
tail -n 100 -f ${LOG_FILE}
}
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
"log")
log
;;
*)
help
;;
esac

附录#

解决“/bin/bash^M: bad interpreter: No such file or directory”

在执行shell脚本时提示这样的错误主要是由于shell脚本文件是dos格式,即每一行结尾以\r\n来标识,而unix格式的文件行尾则以\n来标识。 查看脚本文件是dos格式还是unix格式的几种办法。 (1)cat -A filename 从显示结果可以判断,dos格式的文件行尾为 ^M$ ,unix格式的文件行尾为 $。 (2)od -t x1 filename 如果看到输出内容中存在0d 0a的字符,那么文件是dos格式,如果只有0a,则是unix格式。 (3)vi filename 打开文件,执行 : set ff,如果文件为dos格式在显示为fileformat=dos,如果是unxi则显示为fileformat=unix

解决方法: (1)使用linux命令dos2unix filename,直接把文件转换为unix格式 (2)使用sed命令sed -i "s/\r//" filename 或者 sed -i "s/^M//" filename直接替换结尾符为unix格式 (3)vi filename打开文件,执行 : set ff=unix 设置文件为unix,然后执行:wq,保存成unix格式。

Linux 安装VerySync微力同步教程
https://blog.doracoin.cc/posts/2018/2018-04-13-linux-安装verysync微力同步教程/
Author
Doracoin
Published at
2018-04-13
License
CC BY-NC-SA 4.0