Django遠端部署--命令收集

Andy Chu發表於2018-11-26

測試環境

1、資料庫備份和恢復:

mysqldump -uroot -p cmdb > ~/Desktop/cmdb.sql

scp -r ~/Desktop/cmdb.sql 250515@192.168.212.233: /data/

ssh 250515@192.168.212.233
yes

sudo su -
cd /data/

mysql -uroot -p
use cmdb  (沒有就提前建立一個cmdb資料庫,空的)
source ./cmdb.sql    (備份匯入cmdb.sql資料庫資料)

2、啟動Django不結束通話,後臺執行

方法一:

進入專案目錄下,執行下面程式:

nohup python manage.py runserver 0.0.0.0:8004 &

nohup(no hang up)用途:不結束通話的執行命令

&用途:在後臺執行

nohup /root/start.sh &

在shell中回車提示:

[~]$ appending output to nohup.out     

原程式的的標準輸出被自動改向到當前目錄下的nohup.out檔案,起到了log的作用。

注意:

在nohup執行成功後直接點選關閉程式按鈕關閉終端,會斷掉該命令對應的session,導致nohup對應的程式被通知一起shutdown。所以在使用nohup命令後臺執行命令之後,需要使用exit正常退出當前賬戶,這樣才能保證命令一直在後臺執行。

提示:輸出重定向

通常情況下,輸出都是在顯示器上,而輸出重定向是指將輸出方向進行調整,輸出到檔案當中: 
命令>檔案(以覆蓋的方式,把本來顯示在螢幕上的內容,儲存到了檔案當中) 
命令>>檔案(以追加的方式,把本來顯示在螢幕上的內容,儲存到了檔案當中 )

 
命令 &>檔案(以覆蓋的方式,把正確輸出和錯誤輸出儲存到同一個檔案中 ) 
命令 &>> 檔案(以追加的方式,把正確輸出和錯誤輸出儲存到同一個檔案中)

 
系統中的黑洞(回收站):/dev/null 
命令&>/dev/null 只執行不儲存也不顯示任何命令結果 
命令>>檔案1 2>>檔案2(把正確的輸出追加到檔案1 中,錯誤的輸出追加到檔案2中)

輸入重定向(用處不是很多,有時候會在軟體安裝打補丁的時候用到)
啟動Django,如不將輸出結果(正確或錯誤)輸出到指定檔案,也可輸出到黑洞

nohup python manage.py runserver 0.0.0.0:8004 &> /dev/null

關閉的話,就使用

ps aux | grep "cmdb"

kill -9 PID

 方法二:

這個比較高階,使用screen

1、安裝screen

yum install -y screen

2、新建一個screen

screen -S xiedi

這樣會新開一個視窗,然後執行命令即可

python manage.py runserver 0.0.0.0:9000

3、重開一個視窗,列出所有screen程式,如下

[root@docker ~]# screen -ls
There are screens on:
       3029.xiedi    (Attached)

4、如果想連結上這個會話(再次進入該程式),執行命令即可

screen -r 3029

 

 

 

 

 

 

 

 

相關文章