[Linux]ankisyncd同步伺服器重啟腳本(Anki軟體使用)

  • 2020 年 3 月 10 日
  • 筆記

原創文章

文章目錄

  • @[toc]

  • 0. 環境
  • 1. 原因
  • 2. 腳本源碼
    • 2.1. `closeAnki.sh`
    • 2.2. `anki_restart.sh`

ankisyncd同步伺服器重啟腳本

相關:

0. 環境

  • Ubuntu 16.04

1. 原因

相對於針對Anki2.0的同步伺服器程式AnkiServer,個人親測覺得ankisyncd這個程式既不穩定,也不方便,用過一兩天就崩潰了,而且獨佔終端,沒有關閉,重啟。如果不是考慮到會在Anki2.0Anki2.1中間來回搗騰(我比較熟的是python3PyQt5Anki2.1漂亮一些,最熱的插件也只會對這個版本進行維護,不過Anki2.0插件更多,糾結啊),我真的想重新裝會AnkiServer

2. 腳本源碼

寫了兩個腳本anki_restart.shcloseAnki.sh

  • closeAnki.sh:查找ankisyncd進程,如果存在,殺死進程;
  • anki_restart.sh:重啟ankisyncd。會調用closeAnki.sh,之後啟動ankisyncd

2.1. closeAnki.sh

#!/bin/bash  # ===================  # closeAnki.sh  # ===================  # 關閉 ankisyncd 進程    PID=$(ps -ef|grep ankisyncd|grep -v grep|awk '{print $2}')    if [ -z $PID ]; then      echo "ankisyncd 進程不存在!"      exit  else      echo "ankisyncd PID: $PID"      kill -9 ${PID}      echo "ankisyncd 進程已經殺死!"  fi

2.2. anki_restart.sh

#!/bin/bash    # ===================  # anki_restart.sh  # ===================  # 重啟 ankisyncd 進程      # Step1.  echo "========================="  echo -e "檢測Anki同步程式是否存在n若存在先關閉!"  echo "========================="  ./closeAnki.sh  echo -e "n"        # Step2.  echo "========================="  echo "啟動Anki同步程式"  echo "========================="  cd /root/code/anki_code/anki-sync-server  # 運行  ankisyncd  nohup python3 -m ankisyncd &  echo -e "n"    # Step3.  PID=$(ps -ef|grep ankisyncd|grep -v grep|awk '{print $2}')  echo "========================="  echo "啟動Anki同步程式的PID: $PID"  echo "========================="

OK! 以上,Enjoy~