為了避免文章選題困難症,前段時間開了乙個docker系列坑,目前還沒有完結,今天打算再來開乙個linux系列的坑,聊聊linux日常開發命令,希望大家喜歡。
首先要說的是打包歸檔工具。tar的主要作用將多個檔案或資料夾儲存單個檔案,並且能保留檔案屬性,比如所有者、許可權等。tar的全稱是tape archive 磁帶備份工具。
我們經常看到擴充套件名為.tar或者tgz的檔案,它們各自表示普通的tar包和被gzip壓縮過的tar包。
最常用的方式就是:打包,提取操作。
tar -cvf output.tar file1 file2 folder1 # 打包資料 tar -xvf output.tar # 提取資料 其中引數 -c表示create建立,-f 表示filename指定檔名,-v 表示verbose更多細節。 x 抽取歸檔 其中資料打包備份過程我們會加入一些壓縮引數來進行精簡資料的大小,有關具體詳細細節,請看下圖。
系統備份是系統管理員日常必備的工作之一,其中rsync可以對不同位置的檔案目錄進行同步,利用差異計算和壓縮技術來最小化資料傳輸量。
這個嚴格來說不是linux自帶命令,但是由於它比較通用,可以用來啟動任意程序,用的比較多,這裡也放進來了。
supervisor是基於python的程序管理工具,可以幫助我們進行服務的重啟,停止。
它由兩個部分組成:
supervisord:supervisor後台程式,負責啟動所管理的程序
supervisorctl:命令列工具,直接重啟對應服務,supervisorctl stop/start/restart your_program_name
安裝:
sudo pip install supervisor echo_supervisord_conf > /etc/supervisord.conf # 新增配置檔案 supervisord -c /etc/supervisord.conf # 啟動指定配置
[supervisord]
nodaemon=true
logfile=/data/log/supervisord.log
pidfile=/var/run/supervisord.pid
command=python server.py --port=%(process_num)s
directory=/yourdir ;執行命令時切換工作目錄
user=sitin ; 使用sitin來啟動程序
stopsignal=hup
autostart = true
autorestart=true ;自動重啟
redirect_stderr = true ;重定向日誌
stdout_logfile = /data/log/stdout-%(program_name)s.log
logfile_maxbytes=300mb
logfile_backups=5
numprocs=3 ;啟動3個 8080,8081,8082
numprocs_start=8080 ; 重8080開始
複製**
綜上:上面就是我要介紹的3個命令,由於之前介紹過rsync,就只有tar,supervisor。
細心的同學可能已經發現了,這幾個命令其實也是乙個完整的**上線流程。
主要是打包壓縮,上傳備份,程序管理三個過程:
**要發布上線首先就是進行打包壓縮,使用tar工具。
打包之後,我們需要對資料**進行備份上傳到伺服器,需要用rsync工具。
**上傳到伺服器上之後,我們需要對我們服務進行管理,需要用到supervisor。
通過這三個命令,能非常方便解決日常應用的開發上線問題,沒有使用的同學可以用起來了,今天我們的內容就先到這兒了。
Linux系列開坑記 二 神的編輯器Vim
寫這篇文章起初還是有同學看了我的文章 python web開發從入門到放棄 提到的做python開發為什麼推薦pycharm vim的模式,而不是大家推薦的sublime text這一類的編輯器。sublime text對於剛入門的初學者是不錯,但是從長期來看依舊是不划算的,因為sublime te...
菜鳥的docker入坑記(3)
docker安裝好,開始使用docker 映象 映象是docker的三大核心概念之一 檢視映象列表 sudo docker images 注 該命令可以用於查詢當前系統中所有存在的映象列表。ps 本地映象預設儲存在docker宿主機的 var lib docker目錄下。所有的映象都是儲存在倉庫中,...
python踩坑記3 的用法
numpy陣列中,1個表示一維資料,多個表示多維,不管資料是不是多維,都預設為多維。例如 import numpy as np a np.array 1,2,3,4 print a.shape 輸出 runfile d anaconda3 1 untitled0.py wdir d anaconda...