liunx的腳本

1柳击、yum腳本

# 解析器
#!/bin/bash
# 判斷是否有掛載點
[ -d /media/cdrom ] || mkdir /media/cdrom
# 先取消默認掛載點
umount /dev/sr0 &> /dev/null
# 掛載光盤文件
mount /dev/sr0 /media/cdrom &> /media/cdrom
# 判斷是否掛載成功
[ $? -eq 0 ] && echo "掛載成功" || echo “掛載失敗”
# 切換到y(tǒng)um包下
cd /etc/yum.repos.d
# 判斷是否創(chuàng)建備份文件
[ -d bak ] && echo "已創(chuàng)建" || mkdir bak
# 備份文件
mv CentOS-*.repo bak
# 復(fù)制CentOS-Media.repo
cp bak/CentOS-Media.repo .
# 修改CentOS-Media.repo
sed -i "s#gpgchenk=1#gpgchenk=0#" CentOS-Media.repo
sed -i "s#enabled=0#enabled=1#" CentOS-Media.repo
# 清理緩存
yum -y clean all
# 創(chuàng)建緩存
yum makecache

2、檢測主機存活腳本

#!/bin/bash
for i in [0..255]
do
  ping -c 2 -s 0.005 -w 0.005 192.168.255.$i &> /dev/null
  [ $? -eq 0 ] && echo "192.168.255.$i" >> /tmp/ipcunhuo
done

3片习、批量創(chuàng)建用戶腳本

#!/bin/bash
read -p "請輸入您要創(chuàng)建幾個用戶:" NUM
read -p "請輸入您創(chuàng)建用戶前綴名:" name
for ((i=1;i<=$NUM;i++))
do
  useradd $name$i
  PASSWD=echo"$RANDOM" | md5sum | cut -c 1-10
  echo "$PASSWD" | passwd --stdin $name $i &> /dev/null
  echo "$name$i $PASSWD" >> /tmp/zhanghu
done

4捌肴、獲取CPU使用率

#!/bin/bash
echo $(datre) >> /root/echo_CPU.log
cpu usage=$(top -b -n1 | grep "Cpu(s)" | awk '{print $i + $4}') >> /root/echo_cpu.log
# 輸出CPU使用率
echo "CPU使用率: $cpu_usage%" >> /root/echo_cpu.log
# 每隔5秒執(zhí)行一次
while true; do
  sleep 10
  # 重新獲取cpu使用率并更新使用
  echo $(datre) >> /root/echo_CPU.log
  cpu usage=$(top -b -n1 | grep "Cpu(s)" | awk '{print $i + $4}') >> /root/echo_cpu.log
  echo "CPU使用率:$cpu_usage%" >> /root/echo_cpu.log
done

5蹬叭、查看內(nèi)存腳本

#!/bin/bash
# 設(shè)置閾值,當內(nèi)存占用超過該閾值時發(fā)送警告
threshold=86
while true; do
  # 使用free命令獲取內(nèi)存占用情況状知,并使用awk提取第三行的數(shù)據(jù)
  mem_info=$(free | awk ''NR==3{print $3/$2*100}')
  # 比較內(nèi)存占用情況和j閾值
  if (($(echo "$mem_info > $threshold" | bc -1))); then
  fi
# 設(shè)置指定時間并監(jiān)控
sleep 5
done

6秽五、檢測硬盤使用情況

#!/bin/bash
# 設(shè)置閾值,當磁盤使用率超過該閾值時發(fā)送警報
THRESHOLD=90
# 獲取磁盤使用率饥悴,并提取百分比部分
usage=$(df -h | awk '$NF=="/"{print $5}')
# 檢查磁盤使用率是否超過j閾值
if [ $usage -gt $THRESHOLD ]; then
  echo "磁盤使用率超過閾值坦喘,請及時清理!"
fi

7西设、DHCP腳本

# 必須是CentOS7下才可使用瓣铣,還有一些支持包
#!/bin/bash
# 第一步:安裝dhcp
yum -y install dhcp &> /dev/null
# 第二部:配置文件生成
cat /usr/share/doc/dhcp-4.2.5/dhcp.conf.example > /etc/dhcp/dhcp.conf
# 第三步:切換路徑
cd /etc/dhcp/dhcp.conf
# 第四步:備份配置文件
cp dhcp.conf{,.bak}
# 第五步:獲取子網(wǎng)掩碼、IP地址贷揽、網(wǎng)關(guān)
# 子網(wǎng)掩碼
NS=`ifconfig | awk -F "[: ]+" 'NR==2{print $5}'`
IPsubnet=`route -n | awk -F "[: ]+" 'NR==2{print $3}'`
Gw=`route -n | awk 'NR==4{prine $1}'`
# MAC地址獲取
MAC=`ifconfig | awk -F "[: ]+" 'NR==4{print $3}'`
# IP獲取
IPDZ=`ifconfig | awk -F "[ ]+" 'NR==2{print $3}'`
# 第六步:刪除配置文件
rm -rf /etc/dhcp/dhcp.conf
# 第七步:請輸入啟示IP地址
read -p "請輸入啟示的IP地址:" IPstart
read -p "請輸入結(jié)束的IP地址:" IPstop
# 第八部:創(chuàng)建配置文件
cat > /etc/dhcp/dhcpd.conf << FOF
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example .org;

default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet $IPsubnet netmask $NS {
  range $IPstart $IPstop;
  option routers $GW;
};
FOF
systemctl enable dhcpd --now
[ $? -eq 0 ] && echo "dhcp啟動成功棠笑!" || echo "dhcp啟動失敗"

8、ftp腳本

#!/bin/bash
# 第一步:關(guān)閉防護墻
systemctl stop firewalld
# 第二步:安裝ftp
yum -y install vsftpd &> /dev/null
# 第三步:查看是否安裝禽绪,安裝路徑及命令路徑
rpm -ql vsftpd
# 第四步:切換到ftp的工作路徑所在地
cd /var/ftp/
# 第五步:修改pub目錄的屬主權(quán)限為ftp
chown ftp pub
# 第六步:修改ftp文件的配置文件
vi /etc/vsftpd/vsftpd.conf
  anon_upload_enable=YES       # 解除注釋并打開權(quán)限YES/NO
  anon_umask=022               # 設(shè)置umask的權(quán)限問題
  anon_mkdir_write_enable=YES  # 解除注釋并打開創(chuàng)建目錄的權(quán)限
  anon_other_write_enable=YES  # 添加匿名用戶的其他權(quán)限
  chroot_local_user=YES        # 打開監(jiān)牢模式
  allow_writenable_chroot=YES  # 指定讀寫權(quán)限
# 第七步:啟動ftp
systemctl start vsftpd
# 查看ftp進程是否看起
ps aux | grep ftp
# 查看端口默認為22端口
netstat -antup | grep ftp
# 也可在windows下請求IP進行傳輸

# 第八步:在其他的Client或者server上下載ftp
yum -y install ftp
# 安裝后即可遠程傳輸數(shù)據(jù)
# 黑名單與白名單
# 添加用戶到ftp的黑名單中
vi /etc/vsftpd/userlist
  # 添加用戶名即可
# 白名單
vi /etc/vsftpd/ftpusers
  # 添加用戶名即可

9腐晾、虛擬機的創(chuàng)建

#!/bin/bash
# 第一步:修改配置文件
# 切換網(wǎng)卡路徑
cd /etc/syscofig/network-scripts/
# 刪除所以的ipv6和身份id(uuid)
sed -i "s#IPV6.*##" ifcfg-ens32
sed -i "s#UUID.*##" ifcfg-ens32
# 把動態(tài)ip修改成靜態(tài)ip
sed -i "s#BOOTPROTO=dhcp#BOOTPROTO=static#" ifcfg-ens32
# 系統(tǒng)啟動時是否激活網(wǎng)卡
sed -i "s#ONBOOT=no#ONBOOT=yes#" ifcfg-ens32
# 第二步:關(guān)閉三個服務(wù),并修改為開機自動關(guān)閉
# 關(guān)閉防火墻
systemctl stop firewalld
# 開機默認關(guān)閉
systemctl disable firewalld
# 關(guān)閉NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
# 關(guān)閉selinux
setenforce 0
# 永久關(guān)閉selinux
sed -i "s#SELINUX=enforcing#SELINUX=disabled#" /etc/selinux/config
# 第三步:下載需要的支持包
yum -y install gcc gcc-c++ make automake autoconf lrzsz 
yum -y install wget openssh-client* net-tools
# 第四步:關(guān)機
init 0
# 第五步:克隆此模板機即可
# 右鍵此虛擬機->管理->克隆
# 克隆后添加靜態(tài)IP的IPADDR丐一、NETMASK藻糖、GATEWAY、DNS
# 加重啟網(wǎng)絡(luò) “systemctl restart network”

10库车、rsync的守護進程

# ①192.168.19.102
# ②192.168.19.101
# 需要兩臺機器
# 第一臺的ftp
systemctl start vsftpd
# 第一臺安裝rsync遠程同步
yum -y install rsync    # ①②都安裝
#  修改并備份配置文件
cd /etc/
mv rsyncd.conf rsyncd,conf.bak
cat > rsyncd.conf << FOF
fake super = yes
uid = rsync
gid = rsync
use chroot = no
max connections = 200
pid file = /var/run/rsyncd.pid
timeout = 300
lock file = /var/run.rsync.lock
log file = /var/log/rsyncd.log
[backup]
path = /backup
ignore errors
read only = false
list = false
hosts allow = 192.168.19.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
FOF
# 創(chuàng)建共享文件并設(shè)置屬主權(quán)限巨柒、rsync用戶(虛擬用戶)
useradd -M -s /sbin/nologin rsync     # 創(chuàng)建用戶
mkdir /backup
chown -R rsync /backup
# 啟動rsync服務(wù)
rsync --daemon
# 創(chuàng)建虛擬賬戶的密碼文件并設(shè)置權(quán)限
echo "rsync_backup:123456" > /etc/rsync.password
chmod 600 /etc/rsync.password
# 把rsync加到開機自啟中
echo "rsync --daemon" > /etc/rc.d/rc.local


# 第二臺
# 安裝rsync
yum -y install rsync
# 創(chuàng)建虛擬賬戶的密碼文件并設(shè)置權(quán)限
echo "123456" > /etc/rsync.password
chmod 600 /etc/rsync.password

# 牽引命令
rsync -avz /root/test rsync_backup@192.168.19.102::backup --password-file=/etc/rsync.password
# -avz :保持穩(wěn)健各項屬性不變,v同步信息柠衍,p同步過程
# /root/test:要同步的目錄或文件
# rsync_backup:服務(wù)器rsync服務(wù)的同步的用戶
# 192.168.19.102:rsync服務(wù)端的IP
# backup:共享文件
# --password:免密操作
# -file:指定密碼文件位置

11洋满、ssh

# 192.168.19.100 服務(wù)端
# 192.168.19.101 客戶端
#!/bin/bash
# 重啟sshd
systemctl restart sshd
# 安裝telnet
yum -y install telnet
# 在服務(wù)端創(chuàng)建私鑰與公鑰
ssh-keygen:兩個回車創(chuàng)建密鑰與公鑰

# 第三步:將本地的公鑰傳到客戶端
scp -pr /root/.ssh/id_rsa.pub 192.168.19.101:/root/.ssh/authorized_keys
# 另一個公鑰傳輸方法
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.19.101

12、安裝

#!bin/bash
# 下載支持包/依賴包
yum install -y pcre-devel openssl-devel 
# 下載軟件包nginx-1.10.2.tar.gz
wget -q http://nginx.org/download/nginx-1.10.2.tar
# 解壓到/usr/src下
tar xf nginx-1.10.2.tar.gz -C /usr/src/
# 切換路徑
cd /usr/src/nginx-1.10.2
# 預(yù)配置
 ./configure --user=www --group=www --prefix=/usr/local/nginx \
--with-http_stub_status_module --with-http_ssl_module
# 編譯與安裝
make
make install
# 創(chuàng)建軟連接
ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
# 啟動nginx
/usr/local/nginx/sbin/nginx
# 重啟nginx
/usr/local/nginx/sbin/nginx -s reload
# 停止nginx
/usr/local/nginx/sbin/nginx -s stop

13珍坊、inotifywait監(jiān)控目標服務(wù)器腳本

#!/bin/bash
# 目標服務(wù)器IP
server=192.168.19.103
# inotifywait 監(jiān)控命令
# -rmq r:目標目錄下遞歸監(jiān)控   m:持久化監(jiān)控路徑  q:安靜輸出
# %w %f  %w:輸出監(jiān)控發(fā)生的路徑   %f:輸出監(jiān)控發(fā)生的文件 
# create,delete.close_write : 創(chuàng)建行為,刪除行為,關(guān)閉時發(fā)生寫行為
# while read line  : 循環(huán)寫line
inotifywait -rmq --format "%w %f" -e create.delete,close_write /root/text | while read line
do
# rsync  : 同步命令
# -az    a:以歸屬檔方式同步    z: 壓縮機制
# rsync_backup : 用戶
# server::backup    server : 目標服務(wù)器ip ::  共享文件
# --password-file: 指定用戶密碼 
# /etc/rsync.password: 密碼保存路徑
rsync -az $line rsync_backup@server::backup --password-file=/etc/rsync.password
done

14牺勾、nginx配置文件

# 創(chuàng)建配置文件,備份掉原有的nginx.conf
cd /usr/local/nginx/conf
cp nginx.conf nginx.conf.bak
egrep -v “#|^$” nginx.conf
###nginx.conf配置文件###
# worker進程數(shù)
worker_processes  1;
# 時間區(qū)塊
events {
    # 每個worker進程支持的最大連接數(shù)
    worker_connections  1024;
}
# http區(qū)塊
http {
    # nginx支持阵漏,網(wǎng)站的資源文件驻民,include為引用
    include       mime.types;
    default_type  application/octet-stream;
    # 高效輸出
    sendfile        on;
    # 保持連接(保持三次握手的連接)
    keepalive_timeout  60;
    server {
        # 該網(wǎng)站監(jiān)控的端口
        listen       80;
        # 網(wǎng)站的名稱
        server_name  localhost;
        # uri同一資源標識符(用戶訪問資源)
        location / {
            # 用戶訪問的資源路徑
            root   html;
            # 訪問的默認路徑
            index  index.html index.htm;
        }
    }
} 
######

15、almalinux配置模板機

# 第一步:關(guān)閉防火墻
systemctl status firewalld
systemctl disable firewalld
service firewalld stop
# 第二步:關(guān)閉selinux
getenforce
sed -i "s#SELINUX=enforcing#SELINUX=disable#" /etc/selinux/config
# 第三步:升級一下應(yīng)用履怯,在almalinux中yum為dnf-3的軟鏈接
which yum
ll /usr/bin/yum
dnf updata     # 建議不要再成熟的系統(tǒng)下使用回还,升級的太多,容易崩盤掉系統(tǒng)中已有的項目
# 第四步:修改網(wǎng)卡配置文件
vi /etc/NetworkManager/system-connections/ens160.nmconnection
# 刪掉uuid
# 添加ipv6注釋
addressl=192.168.19.80,192.168.19.2
dns=192.168.19.2;8.8.8.8
# 關(guān)機
init 0
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末叹洲,一起剝皮案震驚了整個濱河市柠硕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌运提,老刑警劉巖蝗柔,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闻葵,死亡現(xiàn)場離奇詭異,居然都是意外死亡癣丧,警方通過查閱死者的電腦和手機槽畔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來坎缭,“玉大人竟痰,你說我怎么就攤上這事√秃簦” “怎么了坏快?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長憎夷。 經(jīng)常有香客問我莽鸿,道長,這世上最難降的妖魔是什么拾给? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任祥得,我火速辦了婚禮,結(jié)果婚禮上蒋得,老公的妹妹穿的比我還像新娘级及。我一直安慰自己,他們只是感情好额衙,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布饮焦。 她就那樣靜靜地躺著,像睡著了一般窍侧。 火紅的嫁衣襯著肌膚如雪县踢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天伟件,我揣著相機與錄音硼啤,去河邊找鬼。 笑死斧账,一個胖子當著我的面吹牛谴返,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播其骄,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼亏镰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了拯爽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤钧忽,失蹤者是張志新(化名)和其女友劉穎毯炮,沒想到半個月后逼肯,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡桃煎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年篮幢,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片为迈。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡三椿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出葫辐,到底是詐尸還是另有隱情搜锰,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布耿战,位于F島的核電站蛋叼,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏剂陡。R本人自食惡果不足惜狈涮,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鸭栖。 院中可真熱鬧歌馍,春花似錦、人聲如沸晕鹊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捏题。三九已至玻褪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間公荧,已是汗流浹背带射。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留循狰,地道東北人窟社。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像绪钥,于是被迫代替她去往敵國和親灿里。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 【腳本1】打印形狀 打印等腰三角形程腹、直角三角形匣吊、倒直角三角形、菱形 【腳本2】截取字符串 現(xiàn)有一個字符串如下: h...
    學(xué)無止境_9b65閱讀 436評論 0 1
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,135評論 2 34
  • 一、簡單介紹Ansible ansible是一個基于Python開發(fā)的自動化運維工具色鸳!其功能實現(xiàn)基于SSH遠程連接...
    逗比的一生閱讀 4,044評論 1 4
  • 1社痛、ansible 是什么? ansible是目前最受運維歡迎的自動化運維工具命雀,基于Python開發(fā)蒜哀,集合了眾多運...
    AD鈣dddd閱讀 1,936評論 0 0
  • 本文用于記錄學(xué)習(xí)和日常中使用過的shell腳本 【腳本1】打印形狀 打印等腰三角形、直角三角形吏砂、倒直角三角形撵儿、菱形...
    zwb_jianshu閱讀 5,520評論 1 5