Linux 編譯安裝、壓縮打包、定時任務

HammerZe發表於2021-12-17


image


Linux 編譯安裝

編譯安裝就是使用原始碼安裝,編譯打包軟體

知識儲備:

wget命令

  • 簡介:

wget命令用來從指定的URL下載檔案。wget非常穩定,它在頻寬很窄的情況下和不穩定網路中有很強的適應性,如果是由於網路的原因下載失敗,wget會不斷的嘗試,直到整個檔案下載完畢。如果是伺服器打斷下載過程,它會再次聯到伺服器上從停止的地方繼續下載。這對從那些限定了連結時間的伺服器上下載大檔案非常有用。

  • 格式:

    wget [選項] [引數] ------ (用哪個引數man一下就可以了)


編譯安裝

  1. 編譯安裝的特點

    • 可以自定製軟體
    • 按需構建軟體
  2. 編譯安裝的步驟

    ?[nginx官網](nginx: download)

    以nginx為例

# 1、下載原始碼包
wget https://nginx.org/download/nginx-1.20.2.tar.gz

# 2、解壓
tar -xf nginx-1.20.2.tar.gz

# 3、設定系統引數
cd nginx-1.20.2
# 4、自定製404介面
vim ./src/core/nginx.h # 修改的內容如下圖
# 4.1、設定系統引數
./configure 

# 5、編譯
make
# 6、安裝
make install

# 安裝好後,目錄/usr/local下就會多了nginx目錄
# 7、啟動
/usr/local/nginx/sbin/nginx
# 7.1、關閉服務
/usr/local/nginx/sbin/nginx -s stop
systemctl stop nginx

image

image


Linux 壓縮打包

gzip壓縮

  • 命令:
    • 壓縮:gzip [壓縮檔案]
    • 解壓:gzip -d [解壓檔案]
  # a.txt 是我提前建好的
  # 壓縮
  [root@localhost test]# gzip a.txt 
  [root@localhost test]# ls
  a.txt.gz
  # 解壓
  [root@localhost test]# gzip -d a.txt.gz 
  [root@localhost test]# ls
  a.txt

bzip2壓縮

  • 命令:
    • 壓縮:bzip2 [壓縮檔案]
    • 解壓:bzip2 -d [壓縮包]
# 壓縮
[root@localhost test]# bzip2 a.txt 
[root@localhost test]# ls
a.txt.bz2
# 解壓
[root@localhost test]# bzip2 -d a.txt.bz2 
[root@localhost test]# ls
a.txt

由於gzipbzip2無法壓縮目錄,使用tar命令

# 無法壓縮命令
[root@localhost ~]# gzip test
gzip: test is a directory -- ignored

tar打包

  • 命令

    • tar [引數] [打包檔案]

    • 引數:

      • -f : 指定打包的包名稱

      • -c : 打包

      • -v : 顯示打包的過程

      • -z : 使用gzip壓縮壓縮包

      • -j : 使用bzip2壓縮壓縮包

      • -x : 解壓(解壓不需要指定壓縮型別)

      • -t : 檢視壓縮包內部的內容

      • -P :忽略使用絕對路徑時報出的錯誤

注意:

  1. 壓縮時是什麼路徑,解壓縮時就是什麼路徑,所以為了安全不要使用絕對路徑壓縮。
  2. -f引數後面永遠跟壓縮包名稱(-f放最後)
# -fc引數的使用,指定打包的包名稱,並打包
[root@localhost ~]# tar -cf test.tar test
[root@localhost ~]# ll
-rw-r--r--  1 root root 10240 Dec 17 19:26 test.tar
# 使用gzip壓縮
[root@localhost ~]# gzip test.tar 
[root@localhost ~]# ll
-rw-r--r--  1 root root  211 Dec 17 19:26 test.tar.gz


# 使用引數直接打包壓縮
[root@localhost ~]# tar -czf test.tar.gz test
[root@localhost ~]# ll
-rw-r--r--  1 root root  202 Dec 17 19:40 test.tar.gz

# 解壓
[root@localhost ~]# tar -xf test.tar.gz 

Linux 定時任務

定時任務類似生活中使用的鬧鐘,可以自動完成操作命令,定時備份系統資料資訊等功能

相關檔案及操作

目錄下寫可執行檔案(x.sh),就會自動執行

  • 系統定時任務週期:每小時

    • 控制定時任務目錄:/etc/cron.hourly
    [root@localhost cron.hourly]# cd /etc/cron.hourly/
    [root@localhost cron.hourly]# ll
    total 4
    -rwxr-xr-x. 1 root root 392 Aug  9  2019 0anacron
    
  • 系統定時任務週期:每一天

    • 控制定時任務目錄:/etc/cron.daily
    [root@localhost cron.hourly]# cd /etc/cron.daily/
    [root@localhost cron.daily]# ll
    total 8
    -rwx------. 1 root root 219 Apr  1  2020 logrotate
    -rwxr-xr-x. 1 root root 618 Oct 30  2018 man-db.cron
    
  • 系統定時任務週期:每一週

    • 控制定時任務目錄:/etc/cron.weekly
    [root@localhost cron.monthly]# cd /etc/cron.weekly/
    
  • 系統定時任務週期:每個月

    • 控制定時任務目錄:/etc/cron.monthly
    [root@localhost cron.daily]# cd /etc/cron.monthly/
    
  • 系統定時任務的配置檔案之一 : /etc/crontab

image

  • 實際操作:

  • 新增定時任務:crontab -e

  • 檢視定時任務:crontab -l

# *  *  *  *  *  : crontab表示式
# 案例:每天的凌晨2:50執行/root/1.sh
# 在1.sh中新增執行語句
# 新增任務
[root@localhost etc]# crontab -e   
# 檢視定時任務
[root@localhost etc]# crontab -l
#Timing synchronization time
0 */1 * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null

image


  • 定時任務配置檔案 : /var/spool/cron/root

    每一個使用者的定時任務是相對隔離,在/var/spool/cron目錄下,以當前使用者的使用者名稱命名的檔案。

  • 定時任務格式

    # * 代表每的意思
    基礎格式 : * * * * *
    每隔2分鐘執行
    	*/2 * * * *
    		
    每天的2,4,6,8,10這4個小時的1分鐘執行
    	01 2,4,6,10 * * * 
    		
    每天的2到6點執行
    	00 2-6 * * *
    	
    每天的2到6點中每隔2小時執行
    	00 2-6/2 * * *
    		
    00 02 * * 02   : 每天的2點時執行,但是這天必須時週二
    
  • 定時任務服務執行記錄日誌檔案 : /var/log/cron

    • 檢視日誌命令:

      • head/tail

        • -n : 檢視指定多少行
      • tail/tail -f

        • -f : 監控檔案變化
      • less

  • 定時任務服務禁止使用者執行名單 : /etc/cron.deny(定時任務黑名單)


image

相關文章