26期全程班-第七周博客作業

1、創建一個10G分區,并格式為ext4文件系統;

   (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;

   (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳;

# fdisk /dev/sda

# mkfs.ext4 -b 2048 -m 2 -L MYDATA /dev/sda5

# mount -o noexec,acl,noatime /dev/sda5 /data/mydata

2、創建一個大小為1G的swap分區,并創建好文件系統,并啟用之;

# fdisk /dev/sda

# mkswap /dev/sda6

# swapon /dev/sda6

3、寫一個腳本

   (1)、獲取并列出當前系統上的所有磁盤設備;

   (2)、顯示每個磁盤設備上每個分區相關的空間使用信息;

#!/bin/bash
echo ” (1)、獲取并列出當前系統上的所有磁盤設備;”
devs=`ls /dev/[sh]d[a-z]`
echo $devs
echo ” (2)、顯示每個磁盤設備上每個分區相關的空間使用信息;”
for i in `fdisk -l $devs | grep -o “^/dev/[sh]d[a-z][[:digit:]]\>”`;do
        df -h $i
done

4、總結RAID的各個級別及其組合方式和性能的不同;

RAID0:將多塊硬盤組合成一塊硬盤使用,讀寫性能都有提升,磁盤利用率100%,無冗余能力,至少需要2塊硬盤;

RAID1:將數據存儲兩份,讀能力有提升,寫能力下降,磁盤利用率50%,有冗余能力,至少需要兩塊硬盤

RAID5:將數據拆分存儲并加入校驗碼技術,讀寫能力均有提升,磁盤利用率為 (磁盤數-1)/磁盤數,最多允許壞一塊硬盤,至少需要3塊硬盤;

RAID10:將磁盤先做raid1后再做raid0,讀寫能力均有提升,磁盤利用率為50%,每組最多允許壞一塊硬盤,至少需要4塊硬盤。

5、創建一個大小為10G的RAID1,要求有一個空閑盤,而且CHUNK大小為128k;

# fdisk /dev/sda

# mdadm -C /dev/md128 -n 2 -x 1 -c 128 -l 1 /dev/sda{5,6,7}

6、創建一個大小為4G的RAID5設備,chunk大小為256k,格式化ext4文件系統,要求可開機自動掛載至/backup目錄,而且不更新訪問時間戳,且支持acl功能;

# fdisk /dev/sda

# mdadm -C /dev/md129 -n 3 -l 5 -c 256 /dev/sda{8,9,10}

# mkfs.ext4 /dev/md129

# mkdir -p /backup

# echo << EOF >> /etc/fstab 
> /dev/md129      /backup     ext4       acl,noatime,defaults    0 0
> EOF

7、寫一個腳本

   (1) 接受一個以上文件路徑作為參數;

   (2) 顯示每個文件擁有的行數;

   (3) 總結說明本次共為幾個文件統計了其行數;

#!/bin/bash
if [ $# -le 0 ] ;then
        echo “請輸入至少一個文件路徑作為參數!”
        echo
else
        for i in $*;do
                echo “文件 `basename $i` 擁有 `wc -l $i| cut -d’ ‘ -f1`  行”
        done
echo
echo “總共為 $# 個文件統計了其行數。”
fi

8、寫一個腳本

   (1) 傳遞兩個以上字符串當作用戶名;

   (2) 創建這些用戶;且密碼同用戶名;

   (3) 總結說明共創建了幾個用戶;

#!/bin/bash
if [ $# -le 2 ] ;then
        echo “請在$0后面傳遞兩個以上字符串當作用戶名”
        echo
else
        for i in $*;do
                useradd $i &> /dev/null
                echo $i | passwd –stdin $i &> /dev/null
        done
echo
echo “總結說明共創建了$#個用戶”
fi

9、寫一個腳本,新建20個用戶,visitor1-visitor20;計算他們的ID之和;

#!/bin/bash
uidsum=0
for i in {1..20};do
        username=visitor$i
        useradd $username &> /dev/null
        uid=`id -u ${username}`
        uidsum=$[$uidsum+$uid]
done
echo $uidsum

10、寫一腳本,分別統計/etc/rc.d/rc.sysinit、/etc/rc.d/init.d/functions和/etc/fstab文件中以#號開頭的行數之和,以及總的空白行數;

#!/bin/bash
chf1=”/etc/rc.d/rc.sysinit”
chf2=”/etc/rc.d/init.d/functions”
chf3=”/etc/fstab”
h1=`grep “^#” $chf1 | wc -l | cut -d’ ‘ -f1`
k1=`grep “^$” $chf1 | wc -l | cut -d’ ‘ -f1`
h2=`grep “^#” $chf2 | wc -l | cut -d’ ‘ -f1`
k2=`grep “^$” $chf2 | wc -l | cut -d’ ‘ -f1`
h3=`grep “^#” $chf3 | wc -l | cut -d’ ‘ -f1`
k3=`grep “^$” $chf3 | wc -l | cut -d’ ‘ -f1`
sumh=$((${h1}+${h2}+${h3}))
sumk=$((${k1}+${k2}+${k3}))
echo “#號開頭的行數之和是$sumh;總的空白行數是$sumk”

11、寫一個腳本,顯示當前系統上所有默認shell為bash的用戶的用戶名、UID以及此類所有用戶的UID之和;

#!/bin/bash
#grep “bash$” /etc/passwd | awk -F: ‘{print $1,$3}’
uidsum=0
for i in $(grep “bash$” /etc/passwd | cut -d’:’ -f1);do
        uid=`id -u $i`
        uidsum=$(($uidsum+$uid))
done
echo “默認shell為bash的用戶的UID之和是$uidsum”

12、寫一個腳本,顯示當前系統上所有,擁有附加組的用戶的用戶名;并說明共有多少個此類用戶;

#!/bin/bash
echo “以下用戶擁有附加組”
grep “[^:]$” /etc/group|cut -d: -f 4
echo
echo “`grep “[^:]$” /etc/group|cut -d: -f 4 | wc -l | cut -d’ ‘ -f1`個擁有附加組的用戶”

13、創建一個由至少兩個物理卷組成的大小為20G的卷組;要求,PE大小為8M;而在卷組中創建一個大小為5G的邏輯卷mylv1,格式化為ext4文件系統,開機自動掛載至/users目錄,支持acl;

14、新建用戶magedu;其家目錄為/users/magedu,而后su切換至此用戶,復制多個文件至家目錄;

15、擴展mylv1至9G,確保擴展完成后原有數據完全可用;

16、縮減mylv1至7G,確??s減完成后原有數據完全可用;

17、對mylv1創建快照,并通過備份數據;要求保留原有的屬主屬組等信息;

 

原創文章,作者:N26-深圳-城市蝸牛,如若轉載,請注明出處:http://www.www58058.com/68217

(0)
N26-深圳-城市蝸牛N26-深圳-城市蝸牛
上一篇 2017-03-16 22:04
下一篇 2017-03-17 17:27

相關推薦

  • shell腳本作業

    1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名, IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。 腳本代碼 #!/bin/bash #author:wzc         echo Hostname:…

    Linux干貨 2016-08-15
  • 2016-10-17練習題

    1 生產環境發現一臺服務器系統時間產生偏差,造成服務異常,請幫忙校正。 linux系統查看當前時間命令為date [root@Shining pirate]# date Mon Oct 17 20:50:42 CST 2016 修改系統時間選項為-s 格式為 只修改系統的日期,不修改時間 …

    Linux干貨 2016-10-17
  • LINUX的初探

    一般而言,計算機的組成遵循著“馮諾依曼體系結構”。這種結構的體現實質上是一種存儲程序的原理,把程序本身當作數據來對待,程序和該程序處理的數據用同樣的方式來存儲。這種結構的要點是:計算機的數制采用二進制;計算機應該按照程序順序執行。

    2018-03-04
  • 運維工程師技能需求排行

    這是我今天在拉勾網搜索運維,翻完了4四頁也招聘信息之后得到的,我的目的是想要看看之后的學習,哪個更應該成為重點,有些在我意料之中,有些還真的沒想到,算是努力了一個小時的收獲吧,分享給大家。
    注意:其中的看法僅代表個人觀點,很多都是依靠我自己的學習經驗和工作經驗累積的

    Linux干貨 2017-12-12
  • 關于大型網站技術演進的思考(三):存儲的瓶頸(3)

    原文出處: 夏天的森林    存儲的瓶頸寫到現在就要進入到深水區了,如果我們所做的網站已經到了做數據庫垂直拆分和水平拆分的階段,那么此時我們所面臨的技術難度的挑戰也會大大增強。 這里我們先回顧下數據庫的垂直拆分和水平拆分的定義: 垂直拆分:把一個數據庫中不同業務單元的數據分到不同的數據庫里。 水平拆分:是根據一定的規則把同一業務…

    Linux干貨 2015-03-03
  • init中的服務故障如何排除

    我們假設ypbind出故障 首先我們設 ypbind服務開機啟動 chkconfig yubind on 然后查看服務 chkconfig –list    默認是2345啟動   然后更改這個腳本,里面寄一個長期的休眠時間,模仿為錯誤 sleep 休眠時間 然后重新啟動,看看系統如何報錯。 然后系統等到要啟動該服務的時候回一…

    2017-07-22

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-30 14:30

    測試了部分代碼,腳本功能基本都已實現,但與此同時,作為博客,一定要注意代碼的可讀性,再接再勵。

欧美性久久久久