為了避免文章選題困難症,前段時間開了一個Docker系列坑,目前還沒有完結,今天打算再來開一個Linux系列的坑,聊聊Linux日常開發命令,希望大家喜歡。
打包歸檔工具tar
首先要說的是打包歸檔工具。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
系統備份是系統管理員日常必備的工作之一,其中rsync可以對不同位置的檔案目錄進行同步,利用差異計算和壓縮技術來最小化資料傳輸量。
我在之前的文章就講到過,系統備份工具rsync,除了系統備份還有基於版本控制的git命令,大家可以參看下我之前的備份工具文章 我常用的4個備份工具,這就不多說了。
程式管理工具supervisor
這個嚴格來說不是Linux自帶命令,但是由於它比較通用,可以用來啟動任意程式,用的比較多,這裡也放進來了。
Supervisor是基於Python的程式管理工具,可以幫助我們進行服務的重啟,停止。
它由兩個部分組成:
- supervisord:supervisor後臺程式,負責啟動所管理的程式
- supervisorctl:命令列工具,直接重啟對應服務,supervisorctl stop/start/restart your_program_name
安裝:
sudo pip install supervisorecho_supervisord_conf >
/etc/supervisord.conf # 新增配置檔案supervisord -c /etc/supervisord.conf # 啟動指定配置
為了方面大家理解,我給一個簡單的示例:
[supervisord]nodaemon=truelogfile=/data/log/supervisord.logpidfile=/var/run/supervisord.pid[program:your_app_name]process_name=app%(process_num)scommand=python server.py --port=%(process_num)sdirectory=/yourdir ;
執行命令時切換工作目錄user=sitin ;
使用sitin來啟動程式stopsignal=HUPautostart = trueautorestart=true&
emsp;
&
emsp;
;
自動重啟redirect_stderr = true&
emsp;
&
emsp;
;
重定向日誌stdout_logfile = /data/log/stdout-%(program_name)s.loglogfile_maxbytes=300MBlogfile_backups=5numprocs=3 &
emsp;
;
啟動3個 8080,8081,8082numprocs_start=8080 ;
重8080開始複製程式碼
更多的大家自己去看文件,我就不進行講解了。我使用supervisor之後的效果圖大概是這樣,下面這張圖不是上面的配置圖。
綜上:上面就是我要介紹的3個命令,由於之前介紹過rsync,就只有tar,supervisor。
細心的同學可能已經發現了,這幾個命令其實也是一個完整的程式碼上線流程。
主要是打包壓縮,上傳備份,程式管理三個過程:
- 程式碼要釋出上線首先就是進行打包壓縮,使用tar工具。
- 打包之後,我們需要對資料程式碼進行備份上傳到伺服器,需要用rsync工具。
- 程式碼上傳到伺服器上之後,我們需要對我們服務進行管理,需要用到supervisor。
通過這三個命令,能非常方便解決日常應用的開發上線問題,沒有使用的同學可以用起來了,今天我們的內容就先到這兒了。
Linux日常命令使用,同Docker容器化一樣我會以一個系列進行分享,今天是第一篇,後面我將持續分享更多內容,從Linux日常命令使用到shell指令碼程式設計,歡迎大家持續進行關注。