1. 程式人生 > >運維第四天筆記

運維第四天筆記

man ctr lee elif bash 反饋 返回 根據 code

DNS服務部署
nmtui 用字符圖形配置IP地址
[[email protected] ~]#
hostnamectl set-hostname host1
[[email protected] ~]# bash
ctrl + shift + t 快速打開終端
###################################
partprobe /dev/vdb 刷新分區
(parted) mklabel
新的磁盤標簽類型? gpt
####################################

baseurl ftp://
ftp://192.168.4.254/centos-1804/
mkdir /var/ftp/centos-1804
vim /etc/fstab
/iso/CentOS7-1804.iso /var/ftp/centos-1804 iso9660 defaults 0 0
mount -a
[[email protected] ~]# mount -a
[[email protected] ~]# ls /var/ftp/centos-1804/
vim /root/yum.sh
#!/bin/bash
rm -rf /etc/yum.repos.d/*
yum-config-manager --add ftp://192.168.4.254/centos-1804/
echo gpgcheck=0 >> /etc/yum.repos.d/192.168.4.254_centos-1804_.repo
chmod 777 /root/yum.sh
./yum.sh
yum clean all
yum repolist
##################################################
$0 當前的腳本名稱
$n 傳遞給腳本或者函數的參數 n 代表的是一個數字。
$# 傳遞給腳本或函數參數的個數
$? 返回上個命令的狀態,或者返回函數的值
##################################################
判斷關系
-eq 等於
-ne 不等於
-gt 大於
-ge 大於或等於
-lt 小於
-le 小於等於
##################################################
文件比較運算 若存在則為真
-e 判斷對象是否存在
-d 判斷對象是否為目錄
-f 判斷對象是否為文件
-r 判斷對象是否有讀的權限
-w 判斷對象是否有可寫的權限
-x 對象是否有可執行權限
##################################################
&& 給定的條件必須都得成立,整個測試結果為真
|| 只有其中的一個條件成立.則結測試結果為真
判斷 /etc/ 是否存在
[ -e “/etc/” ] && echo “存在” || echo “不存在”
###############################################
[[email protected] ~]#
[ -e “/etc/” ] && echo “存在” || echo “不存在”
存在
[[email protected] ~]#
[ -e “/opt/” ] && echo “存在” || echo “不存在”
存在
[[email protected] ~]#
[ -e “/chendan” ] && echo “存在” || echo “不存在”
不存在
判斷 ls mkdir cd 這些命令是否存在
[ -e “cd” ] && echo “存在” || echo “不存在”
[[email protected] ~]# which mkdir
/usr/bin/mkdir
[[email protected] ~]# [ -e “/usr/bin/mkdir” ] && echo " 存在" || echo “不存在”
####################################
[[email protected] ~]# mkdir test
[[email protected] ~]# chmod 444 test
[[email protected] ~]# [ -w “/test” ] && echo “可讀”
|| echo “不可寫”
不可寫
#######################################
if單分支語法組成
if 條件測試
then
命令序列
fi
################
if 雙if分支
if
then
命令序列1
else
命令序列2
fi
##################
if 多分支

if   條件測試1 ;then
命令序列1
elif	條件測試1 ;then
命令序列2
else
命令序列N
fi
-c  可以發送的包
-i 0.2 縮短發送測試包的間隔秒數
-w 等待反饋的超時秒數
ping -c 3 -i 0.2 -W 1 192.168.4.5

檢測輸入IP地址的連通性

#!/bin/bash
a=192.168.4.
ping -c 3 -i 0.2 -W 1 $1        > /dev/null
if [ $? -eq 0 ]; then
        echo "Host $1 is ip"
else
        echo "Host $1 is down"
fi

[[email protected] ~]# chmod 777 ping.sh
[[email protected] ~]# ./ping.sh 192.168.4.5
Host 192.168.4.5 is ip
[[email protected] ~]# ./ping.sh 192.168.4.8
Host 192.168.4.8 is down
#################################
從鍵盤讀取一個數,判斷他的等級
大於等於90神功蓋世
大於等於80,小於90 登峰造極
大於等於70,小於80 爐火純青
大於等於60,小於70 略有小成
小於60 初學紮到
###############################
for 變量名 in 值列表
do
命令序列
done
################################
創建20個用戶,admin1-20
密碼統一為:redhat

#!/bin/bash
pass=redhat
user=admin
for i in {1..20}
do
        useradd $user$i >/dev/null
        echo $pass | passwd --stdin $user$i >/dev/null
done

##################################
從鍵盤上輸入用戶名
從鍵盤上讀取密碼
從鍵盤上讀取創建個數
###################################
檢測192.168.4.0網段的存活主機?
1 思考
2 寫

while  條件測試
do
	命令序列
done
while  :
do
	命令序列
done

################
提示用戶輸入一個隨機數,直到猜中為止
使用系統自帶的變量RANDOM提供系統隨機數(1-100),使用while
制作死循環
使用取余算法使隨機數變為1-100的隨機數
RANDOM為系統自帶變量,值為0-16545
顯示你猜了幾次

#!/bin/bash
num=$[RANDOM%100+1]
i=0
while :
do
        read -p "計算機生成了一個1-100的隨機數,你猜:" cai
		let i++
        if      [ $cai -eq $num ];then
                echo "恭喜,猜對了"
				echo "你猜了$i次"
			    exit
        elif    [ $cai -gt $num ];then
                echo "Oops,猜大了"
        else
                echo "Oops,猜小了"
        fi
done

#############################################
判斷我們的電腦是否為超級管理員,如果是,則用yum安裝vsftp服務
並在ftp家目錄創建 a.txt,如果不是 則提示您非管理員。
if

判斷是否為管理員,如果是則安裝httpd。並在 網站根目錄創建
網頁文件,內容為 “好嗨呦”. 並在當前終端顯示網頁內容

#!/bin/bash
if      [ $USER == "root" ]; then
        yum -y  install vsftpd
        #sleep 10
        touch /var/ftp/pub/a.txt
systemctl restart vsftpd ; systemctl enable  vsftpd
else
        echo "您不是管理員.沒辦法安裝軟件"
fi

curl http://192.168.4.5

設置計劃任務:
什麽是計劃任務:

	按照計劃的時間執行指定的任務
	at
	crontab
	系統服務:crond
	配置:
	/etc/crontab
	/var/spool/cron/用戶名

配置格式
分 時 日 月 周 任務操作命令(用絕對路徑,必要時可以記錄輸出)

設置一個全局計劃任務:
每天晚上22:20分 自動關閉計算機
20 22 * * *
配置工具:

crontab -e -u 用戶名
-l 列出計劃任務
-r 刪除
設置系統日期:

date -s "HH:MM"
date -s "yyy-mmm-ddd"
date -s "yyy-mmm-dd HH:MM"

hwclock -s 根具bios時間設置系統時間
hwclock -w 根據系統時間設置BIOS時間

[[email protected] ~]# vim /etc/crontab
40 17	*  *  * root /usr/sbin/shutdown -c +10  
"您的電腦將在10分鐘後關機"

運維第四天筆記