搜尋

首頁  >  問答  >  主體

nosql - 如何使用bash腳本安全關閉mongodb服務的進程?

我直接kill掉mongodb的服務進程,下一次啟動的時候就會出現unclean shutdown的提示。
我知道進入mongo程序進入mongo自己的shell可以關閉服務,不過如果我要使用bash將如何實現呢?
我知道mongo有一個--eval參數,可以直接運行命令,但如果我直接--eval "db.shutdownServer()"的話老是出現讓我use admin的提示,但是如果我--eval "use admin;db.shutdownServer()"的話呢又說我語法錯誤,真不知道要怎麼弄才能對

巴扎黑巴扎黑2800 天前733

全部回覆(4)我來回復

  • 天蓬老师

    天蓬老师2017-04-21 10:59:16

    這個問題我自己找到答案了:

    ./mongo admin --eval "shutdownServer()"

    即可,當然如果帶埠或密碼請加上對應的參數就行,格式在./mongo --help裡面都看得到
    之所以之前一直問這個問題是因為--help裡面說加用戶名需要-u username才行,同mysql類似,但我試過

    -u admin --eval "db.shutdownServer()"

    還是不行,不知道是不是bug

    回覆
    0
  • 阿神

    阿神2017-04-21 10:59:16

    請嘗試使用kill -2指令來關閉對應的mongod進程

    回覆
    0
  • 怪我咯

    怪我咯2017-04-21 10:59:16

    ./mongo ip:port/admin --eval "db.shutdownServer()"

    回覆
    0
  • PHPz

    PHPz2017-04-21 10:59:16

    雷雷

    回覆
    0
  • 取消回覆