Linux / Windows / 学习笔记 / 常用工具

Syncthing – 未完成

迷失小白菜 · 10月26日 · 2019年 · 154次已读

1111

访问官网 / 访问源代码

# mv /root/syncthing-linux-amd64-v1.3.0 /usr/local/syncthing

关于升级

关于升级,可以尝试先升级,升级的时候不要运行

./syncthing --upgrade

自我守护

脚本自启动

为了安全.请

创建运行用户 syncthing_user 可改成你想要的

useradd -m -s /bin/bash syncthing_user
passwd syncthing_user #创建密码
vim check_start.py
# 将下面的代码复制进去
#!/usr/bin/python
#coding:utf-8
import os,time
#当前文件路径
current_path = os.getcwd()
log_file = current_path+'/check.log'
def is_runing(process_name):
        try:
                process = len(os.popen('ps aux | grep "' + process_name + '" | grep -v grep').readlines())
                if process > 0:
                        return 1
                else:
                        return 0
        except:
                return 0
 
def log(message):
        os.popen('echo ['+time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))+'] '+message+' >> '+log_file)
 
proc_tag = '/root/syncthing-linux-amd64-v1.3.0/syncthing'
 
if is_runing(proc_tag) == 0:
        log('syncthing 进程没有运行或已停止!')
        os.popen('/sbin/runuser -l syncthing_user -c '+proc_tag.replace('$','')+' >> /dev/null &')
else:
        log('syncthing 正常')
chmod +x /home/check_start.py

添加到定时任务,一分钟检查一次脚本运行情况

* * * * * python /home/check_start.py
# 重新运行 syncthing
ps -ef | grep syncthing | grep -v grep | cut -c 9-15 | xargs kill 9

supervisor自启动

仅供参考.推荐py守护

[program:syncthing]
# syncthing 为程序的名称
# 需要执行的命令
command=/root/syncthing-linux-amd64-v1.3.0/syncthing -no-browser -home="/root/.config/syncthing"
# 命令执行的目录
directory=/root/
# 环境变量
environment = STNORESTART="1", HOME="/root/"
# 用户
user=root
stopsignal=INT
# 是否自启动
autostart=true
# 是否自动重启
autorestart=true
# 自动重启时间间隔(s)
startsecs=3
# 错误日志文件
stderr_logfile=/var/log/syncthing.err.log
# 输出日志文件
stdout_logfile=/var/log/syncthing.out.log