Linux 編譯安裝
編譯安裝就是使用原始碼安裝,編譯打包軟體
知識儲備:
wget命令
- 簡介:
wget命令用來從指定的URL下載檔案。wget非常穩定,它在頻寬很窄的情況下和不穩定網路中有很強的適應性,如果是由於網路的原因下載失敗,wget會不斷的嘗試,直到整個檔案下載完畢。如果是伺服器打斷下載過程,它會再次聯到伺服器上從停止的地方繼續下載。這對從那些限定了連結時間的伺服器上下載大檔案非常有用。
-
格式:
wget [選項] [引數]
------ (用哪個引數man一下就可以了)
編譯安裝
-
編譯安裝的特點
- 可以自定製軟體
- 按需構建軟體
-
編譯安裝的步驟
?[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
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
由於
gzip
和bzip2
無法壓縮目錄,使用tar
命令
# 無法壓縮命令
[root@localhost ~]# gzip test
gzip: test is a directory -- ignored
tar打包
-
命令
-
tar [引數] [打包檔案]
-
引數:
-
-f : 指定打包的包名稱
-
-c : 打包
-
-v : 顯示打包的過程
-
-z : 使用gzip壓縮壓縮包
-
-j : 使用bzip2壓縮壓縮包
-
-x : 解壓(解壓不需要指定壓縮型別)
-
-t : 檢視壓縮包內部的內容
-
-P :忽略使用絕對路徑時報出的錯誤
-
-
注意:
- 壓縮時是什麼路徑,解壓縮時就是什麼路徑,所以為了安全不要使用絕對路徑壓縮。
-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
-
實際操作:
-
新增定時任務:
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
-
定時任務配置檔案 :
/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(定時任務黑名單)