Linux系列開坑記(一)-經常使用的3個命令

爲了不文章選題困難症,前段時間開了一個Docker系列坑,目前尚未完結,今天打算再來開一個Linux系列的坑,聊聊Linux平常開發命令,但願你們喜歡。python

打包歸檔工具tar

首先要說的是打包歸檔工具。tar的主要做用將多個文件或文件夾保存單個文件,而且能保留文件屬性,好比全部者、權限等。tar的全稱是tape archive 磁帶備份工具。git

咱們常常看到擴展名爲.tar或者tgz的文件,它們各自表示普通的tar包和被gzip壓縮過的tar包。web

最經常使用的方式就是:打包,提取操做。shell

tar -cvf output.tar file1 file2 folder1 # 打包數據
tar -xvf output.tar # 提取數據
其中參數 -c表示create建立,-f 表示filename指定文件名,-v 表示verbose更多細節。
x 抽取歸檔


編程

其中數據打包備份過程咱們會加入一些壓縮參數來進行精簡數據的大小,有關具體詳細細節,請看下圖。服務器

b3f599e9bd27c21b25f91c7a968663ff.webp

系統備份工具rsync

系統備份是系統管理員平常必備的工做之一,其中rsync能夠對不一樣位置的文件目錄進行同步,利用差別計算和壓縮技術來最小化數據傳輸量。app

我在以前的文章就講到過,系統備份工具rsync,除了系統備份還有基於版本控制的git命令,你們能夠參看下我以前的備份工具文章 我經常使用的4個備份工具,這就很少說了。ide

進程管理工具supervisor

這個嚴格來講不是Linux自帶命令,可是因爲它比較通用,能夠用來啓動任意進程,用的比較多,這裏也放進來了。工具

Supervisor是基於Python的進程管理工具,能夠幫助咱們進行服務的重啓,中止。spa

它由兩個部分組成:

  1. supervisord:supervisor後臺程序,負責啓動所管理的進程

  2. 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

[program:your_app_name]

process_name=app%(process_num)s
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個 808080818082
numprocs_start=8080 ; 重8080開始


















更多的你們本身去看文檔,我就不進行講解了。我使用supervisor以後的效果圖大概是這樣,下面這張圖不是上面的配置圖。

f6efb57765e9940208cb6308052e8a20.webp

綜上:上面就是我要介紹的3個命令,因爲以前介紹過rsync,就只有tar,supervisor。

細心的同窗可能已經發現了,這幾個命令其實也是一個完整的代碼上線流程。

主要是打包壓縮,上傳備份,進程管理三個過程:

  1. 代碼要發佈上線首先就是進行打包壓縮,使用tar工具。

  2. 打包以後,咱們須要對數據代碼進行備份上傳到服務器,須要用rsync工具。

  3. 代碼上傳到服務器上以後,咱們須要對咱們服務進行管理,須要用到supervisor。

經過這三個命令,能很是方便解決平常應用的開發上線問題,沒有使用的同窗能夠用起來了,今天咱們的內容就先到這兒了。

Linux平常命令使用,同Docker容器化同樣我會以一個系列進行分享,今天是第一篇,後面我將持續分享更多內容,從Linux平常命令使用到shell腳本編程,歡迎你們持續進行關注。

`

相關文章
相關標籤/搜索