shell腳本實(shí)現(xiàn)統(tǒng)計(jì)文件大小、批量創(chuàng)建用戶的示例
統(tǒng)計(jì)文件大小
需求:
每小時(shí)執(zhí)行一次腳本,當(dāng)時(shí)間為0點(diǎn)或12點(diǎn)時(shí),清空/data/logs目錄下所有日志文件的內(nèi)容(包括該目錄下的子目錄里的文件),其他時(shí)間只需統(tǒng)計(jì)每個(gè)文件的大小,一個(gè)文件一行,記錄到以日期和時(shí)間命名的文件中
#!/bin/bash
dir=/data/log_size
logdir=/data/logs
d=`date +%d%H`
t=`date +%H`
#當(dāng)目錄不存在時(shí)創(chuàng)建記錄文件存放目錄
[ -d $dir ] || mkdir $dir
#當(dāng)記錄文件存在時(shí),先刪除(避免記錄到上月的記錄文件中)
[ -f $dir/$d.log ] && rm -f $dir/$d.log
#當(dāng)時(shí)間為0點(diǎn)或12點(diǎn)時(shí),清空所有日志文件中的內(nèi)容
if [ $t == "00" -o $t == "12" ]
then
for f in `find $logdir -type f`
do
> $f
done
#當(dāng)時(shí)間非0或12點(diǎn)時(shí),記錄每個(gè)文件的大小
else
for f in `find $logdir -type f`
do
du -sh $f >> $dir/$d.log
done
fi
批量創(chuàng)建用戶
需求:
批量創(chuàng)建10個(gè)用戶,密碼要求10位:包含大小寫以及數(shù)字,需要將每個(gè)用戶的密碼記錄到一個(gè)文件中
#!/bin/bash for i in `seq -w 1 10` do useradd user$i #生成隨機(jī)密碼,不包含特殊符號(hào),長(zhǎng)度10 p=`mkpasswd -s 0 -l 10` #記錄用戶名和密碼 echo "user$i $p" >> /tmp/user.passwd #創(chuàng)建密碼 echo $p |passwd --stdin user$i done
執(zhí)行效果:
[root@linux01 ~]# sh create_users.sh
更改用戶 user01 的密碼 。
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
更改用戶 user02 的密碼 。
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
更改用戶 user03 的密碼 。
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
更改用戶 user04 的密碼 。
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
更改用戶 user05 的密碼 。
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
更改用戶 user06 的密碼 。
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
更改用戶 user07 的密碼 。
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
更改用戶 user08 的密碼 。
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
更改用戶 user09 的密碼 。
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
更改用戶 user10 的密碼 。
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
[root@linux01 ~]# cat /tmp/user.passwd
user01 usgxQ8tM6c
user02 D6iKma5lep
user03 Ubf32wdGqn
user04 iskVwfRi13
user05 mby2Xm3dwM
user06 ehkq5eNDi1
user07 yvmlXTpk79
user08 m15keaGigZ
user09 lx1fxvF7eQ
user10 MhcyjEc27v
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Linux使用curl訪問(wèn)網(wǎng)頁(yè)和wget下載文件
這篇文章介紹了Linux使用curl命令訪問(wèn)網(wǎng)頁(yè)和wget下載文件的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
shell腳本學(xué)習(xí)指南[四](Arnold Robbins & Nelson H
這篇文章主要介紹了shell腳本學(xué)習(xí)指南[四](Arnold Robbins & Nelson H.F. Beebe著),需要的朋友可以參考下2014-02-02
shell腳本中/bin/bash的作用引號(hào)與括號(hào)的使用小結(jié)
shell腳本通常第一句是#!/bin/bash,在很多情況中,如果沒(méi)有設(shè)置好這一行,那么該程序很可能無(wú)法執(zhí)行,#!/bin/bash是指此腳本使用/bin/bash來(lái)解釋執(zhí)行,本文給大家介紹shell腳本中/bin/bash的作用,引號(hào)與括號(hào)的使用,感興趣的朋友一起看看吧2023-12-12
Shell腳本實(shí)現(xiàn)memcache緩存命中率監(jiān)控
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)memcache緩存命中率監(jiān)控,這個(gè)腳本比較簡(jiǎn)單,通過(guò)check_tcp腳本獲取memcached的stats信息,然后將該信息格式化成一個(gè)字符串,然后將get_hits比上cmd_gets就能得到緩存命中率,需要的朋友可以參考下2014-12-12
centos/rhel下實(shí)現(xiàn)nginx自啟動(dòng)腳本實(shí)例
這篇文章主要介紹了centos/rhel下實(shí)現(xiàn)nginx自啟動(dòng)腳本,需要的朋友可以參考下2014-07-07
linux shell進(jìn)度條實(shí)現(xiàn)方法
linux shell實(shí)現(xiàn)的一咱進(jìn)度條,代碼很簡(jiǎn)單,供大家參考2013-11-11
Shell腳本實(shí)現(xiàn)精準(zhǔn)清除Squid緩存
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)精準(zhǔn)清除Squid緩存,本文腳本是張宴同學(xué)腳本的個(gè)人優(yōu)化版,生產(chǎn)環(huán)境使用效果不錯(cuò),所以分享給大家,需要的朋友可以參考下2015-01-01

