色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何創(chuàng)建自動化腳本

CHANBAEK ? 來源:TIAP ? 作者:TIAP ? 2023-01-04 16:50 ? 次閱讀

在前面的 bash 初學者系列文章中,我們介紹了關(guān)于 bash 的一些基礎(chǔ)知識,在了解了這些基礎(chǔ)知識之后,可以嘗試創(chuàng)建一些自動化腳本,來完成一些相對枯燥重復的管理任務。

今天我們介紹一下如何創(chuàng)建自動化腳本。

使用 bash 腳本自動化用戶管理

在服務器上創(chuàng)建用戶可能是系統(tǒng)管理員經(jīng)常要做的事情,這是一個相對乏味的任務,所以我們可以創(chuàng)建一個自動化的腳本來進行這項任務。

首先,創(chuàng)建一個文本文件,其中包含要添加用戶的所有服務器主機名或IP地址。

比如,下面我們創(chuàng)建了一個名為 servers.txt 的文本文件,在其中添加了5臺服務器:

$ cat servers.txt
server1
server2
server3
server4
server5

在這里我使用的是主機名,因為已經(jīng)在 /etc/hosts 文件中包含了IP地址(另外也可以使用 SSH 配置文件)。

然后創(chuàng)建一個腳本文件 adduser.sh,代碼如下:

#!/bin/bash


servers=$(cat servers.txt)


echo -n "Enter the username: "
read name
echo -n "Enter the user id: "
read uid


for i in $servers; do
    echo $i
    ssh $i "sudo useradd -m -u $uid ansible"
    if [ $? -eq 0 ]; then
        echo "User $name added on $i"
    else
        echo "Error on $i"
    fi
done

上述腳本首先要求我們輸入要添加的用戶的用戶名和用戶 ID,然后回循環(huán)并連接到 servers.txt 中列出的服務器,并添加用戶。

運行結(jié)果如下:

通過上述例子,我們需要了解以下幾點:

  • 可以使用 ssh 代理或空的 ssh 密碼,這樣在運行的時候系統(tǒng)不會要求輸入密碼;
  • 必須擁有在所有服務器上具有超級用戶訪問權(quán)限(無需密碼)的有效帳戶。

可以想象,如果你有100臺服務器需要添加同一個新用戶,使用上述腳本肯定會節(jié)省很多時間。

使用 bash 腳本自動備份

備份是我們經(jīng)常做的事情,那寫個自動備份的腳本來自動化實現(xiàn),是非常方便的。看如下 backup.sh 腳本:

#!/bin/bash


backup_dirs=("/etc" "/home" "/boot")
dest_dir="/backup"
dest_server="server1"
backup_date=$(date +%b-%d-%y)


echo "Starting backup of: ${backup_dirs[@]}"


for i in "${backup_dirs[@]}"; do
    sudo tar -Pczf /tmp/$i-$backup_date.tar.gz $i
    if [ $? -eq 0 ]; then
        echo "$i backup succeeded."
    else
        echo "$i backup failed."
    fi
    scp /tmp/$i-$backup_date.tar.gz $dest_server:$dest_dir
    if [ $? -eq 0 ]; then
        echo "$i transfer succeeded."
    else
        echo "$i transfer failed."
    fi
done


sudo rm /tmp/*.gzecho "Backup is done."

上面腳本,首先創(chuàng)建了一個名為 backup_dirs 的數(shù)組,用來保存要備份的目錄。然后又創(chuàng)建了另外三個變量:

  • dest_dir :要備份到哪個目錄;
  • dest_server :備份服務器;
  • backup_time :備份日期。

然后,對于數(shù)組 backup_dirs 中的目錄,會在被壓縮為 tar 歸檔文件,保存在 /tmp 目錄下,然后使用 scp 命令將 tar 文件發(fā)送到備份服務器,最后,刪除 /tmp 中的 tar 文件。

運行一下,結(jié)果如下:

$ ./backup.sh
Starting backup of: /etc /home /boot
/etc backup succeeded.
etc-Aug-30-20.tar.gz 100% 1288KB 460.1KB/s   00:02
/etc transfer succeeded.
/home backup succeeded.
home-Aug-30-20.tar.gz 100% 2543KB 547.0KB/s   00:04
/home transfer succeeded.
/boot backup succeeded.
boot-Aug-30-20.tar.gz 100%  105MB 520.2KB/s   03:26
/boot transfer succeeded.
Backup is done.

如果你希望每天在某個時間點(比如晚上)都自動運行備份腳本,可以制定 cron 任務:

$ crontab -e
00*** /home/kabary/scripts/backup.sh

監(jiān)視可用磁盤空間

我們每天做各種操作,產(chǎn)生的文件都會占用磁盤空間。在空間被占滿之前及時刪除不必要的臨時文件是有必要的。我們可以使用 df 命令查看系統(tǒng)的剩余空間:

$ df -h / /apps /database
Filesystem Size  Used Avail Use% Mounted on
/dev/sda5 20G  7.9G   11G  44% /
/dev/mapper/vg1-applv 4.9G  2.4G  2.3G  52% /apps
/dev/mapper/vg1-dblv 4.9G  4.5G  180M  97% /database

在 /database 目錄下其使用率為 97%,幾乎沒有剩余空間了。如果我使用 awk 命令可以只顯示第 5 個字段,就是使用率。

現(xiàn)在我們創(chuàng)建腳本 disk_space.sh,如下:

#!/bin/bash
filesystems=("/" "/apps" "/database")
for i in ${filesystems[@]}; do
    usage=$(df -h $i | tail -n 1 | awk '{print $5}' | cut -d % -f1)
    if [ $usage -ge 90 ]; then
        alert="Running out of space on $i, Usage is: $usage%"
        echo "Sending out a disk space alert email."
        echo $alert | mail -s "$i is $usage% full" your_email
    fi
done

上述代碼,首先創(chuàng)建了一個數(shù)組 filesystems,用于保存要監(jiān)視的目錄,然后便利這個數(shù)組,查看其中每個目錄的使用率是否大于 90%,如果使用率超過 90%,就會發(fā)送一封警告電子郵件,提示文件空間不足。

這里需要注意,帶啊中的 your_email 需要替換為真實的郵件。

運行一下,結(jié)果如下:

$ ./disk_space.sh
Sending out a disk space alert email.

然后收到的電子郵件如下所示:

圖片

同樣,也可以為其設(shè)置定時任務:

$ crontab -e
0*/6 *** /home/kabary/scripts/disk_space.sh
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 自動化
    +關(guān)注

    關(guān)注

    29

    文章

    5562

    瀏覽量

    79239
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    389

    瀏覽量

    14858
  • Bash
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    10179
收藏 人收藏

    評論

    相關(guān)推薦

    介紹10個Python自動化腳本

    在這個自動化時代,我們有很多重復無聊的工作要做。想想這些你不再需要一次又一次地做的無聊的事情,讓它自動化,讓你的生活更輕松。那么在本文中,我將向您介紹 10 個 Python 自動化腳本
    發(fā)表于 10-17 09:27 ?939次閱讀

    10個Python腳本來自動化你的日常任務

    今天浩道跟大家分享幾個關(guān)于python自動化日常工作的實用案例腳本
    發(fā)表于 10-25 09:04 ?723次閱讀

    10個殺手級的Python自動化腳本

    今天浩道跟大家分享10個日常工作中用到的python自動化腳本。讓你感受一番python簡單強大之處!
    發(fā)表于 11-28 11:07 ?681次閱讀

    自動化創(chuàng)建UI并解析數(shù)據(jù)

    Labview實現(xiàn)動態(tài)增加控件效果 - *附件:32960_auto.rar 備注:Main.vi是ui自動化2.1.vi,配置文件為32960.B.ini。 目前可以實現(xiàn)根據(jù)配置文件自動化創(chuàng)建控件
    發(fā)表于 11-29 11:26

    自動化創(chuàng)建UI并解析數(shù)據(jù)

    *附件:32960_auto.rar備注:Main.vi是ui自動化2.1.vi,配置文件為32960.B.ini。 目前可以實現(xiàn)根據(jù)配置文件自動化創(chuàng)建控件并布局,且可以自動解析接收到
    發(fā)表于 12-10 08:41

    自動化測試腳本開發(fā)技巧

    開發(fā)自動化測試腳本的技巧和心得軟件測試 增量式調(diào)試腳本 錄制測試腳本,和其他的軟件開發(fā)成果一樣,會變得非常大。為了可以成功的回放,需要調(diào)試幾百行的代碼,為了參數(shù)
    發(fā)表于 03-26 16:24 ?53次下載

    iOS自動化打包腳本

    iOS自動化打包腳本,地址:(https://github.com/hades0918/ipapy) iOS項目自動打包腳本 1.腳本
    發(fā)表于 10-12 16:47 ?0次下載

    虛擬自動化中AI的重要性

    虛擬自動化的主要好處之一是消除每個系統(tǒng)中的人工干預和手動編寫腳本。管理員可以集中創(chuàng)建自動化策略并將其推送到設(shè)備組。即使是Puppet和An
    發(fā)表于 02-04 15:55 ?1176次閱讀

    10個殺手級的Python自動化腳本分享

    重復性任務總是耗時且無聊,想一想你想要一張一張地裁剪 100 張照片或 Fetch API、糾正拼寫和語法等工作,所有這些任務都很耗時,為什么不自動化它們呢?在今天的文章中,我將與你分享 10 個 Python [自動化腳本]。
    的頭像 發(fā)表于 01-06 15:34 ?750次閱讀

    分享10個實用的Python自動化腳本

    重復性任務總是耗時且無聊,想一想你想要一張一張地裁剪 100 張照片或 Fetch API、糾正拼寫和語法等工作,所有這些任務都很耗時,為什么不自動化它們呢?在今天的文章中,我將與你分享 10 個 Python 自動化腳本
    的頭像 發(fā)表于 01-21 15:58 ?1333次閱讀

    使用Python腳本實現(xiàn)自動化運維任務

    許多運維工程師會使用 Python 腳本來自動化運維任務。Python 是一種流行的編程語言,具有豐富的第三方庫和強大的自動化能力,適用于許多不同的領(lǐng)域。
    的頭像 發(fā)表于 04-08 10:36 ?1678次閱讀

    智能辦公自動化系統(tǒng)的創(chuàng)建

    電子發(fā)燒友網(wǎng)站提供《智能辦公自動化系統(tǒng)的創(chuàng)建.zip》資料免費下載
    發(fā)表于 06-25 15:35 ?0次下載
    智能辦公<b class='flag-5'>自動化</b>系統(tǒng)的<b class='flag-5'>創(chuàng)建</b>

    modelsim自動化仿真實驗 利用腳本實現(xiàn)modelsim自動化仿真

    ,然后編譯,再添加波形,這樣是非常麻煩的。在實際工作中一般不會這樣操作,通常我們都會利用腳本實現(xiàn)modelsim的“自動化”編譯。實現(xiàn)一鍵完成電腦自動打開modelsim軟件,自動編譯
    的頭像 發(fā)表于 07-19 10:10 ?1655次閱讀
    modelsim<b class='flag-5'>自動化</b>仿真實驗 利用<b class='flag-5'>腳本</b>實現(xiàn)modelsim<b class='flag-5'>自動化</b>仿真

    keil自動化編譯腳本

    這是一個 keil 的自動化編譯腳本,可被其他腳本或程序調(diào)用,接收參數(shù)并按參數(shù)編譯 keil 工程,而不必打開 keil 軟件,實現(xiàn)程序上的自動化
    的頭像 發(fā)表于 10-16 17:04 ?1883次閱讀
    keil<b class='flag-5'>自動化</b>編譯<b class='flag-5'>腳本</b>

    使用OpenSCAD腳本自動化電容式觸摸傳感器PCB設(shè)計

    電子發(fā)燒友網(wǎng)站提供《使用OpenSCAD腳本自動化電容式觸摸傳感器PCB設(shè)計.pdf》資料免費下載
    發(fā)表于 09-14 10:39 ?0次下載
    使用OpenSCAD<b class='flag-5'>腳本</b><b class='flag-5'>自動化</b>電容式觸摸傳感器PCB設(shè)計
    主站蜘蛛池模板: 一本久道久久综合狠狠躁AV| 日本女人下面毛茸茸| YELLOW视频在线观看大全 | 国产欧美一区二区精品性色tv| 久久这里只有精品视频9| 97SE亚洲国产综合在线| 日本欧美久久久久免费播放网| 国产在线aaa片一区二区99| 在线观看国产小视频| 人人艹人人| 亚洲精品免费在线视频| 伊人久久网国产伊人| 不卡无线在一二三区| 久久国产乱子伦精品免费M| 日本在线免费播放| 影音先锋影院中文无码| 国产国产成人人免费影院| 美女被免费喷白浆视频| 亚洲 欧美 国产 综合久久| 99久久婷婷国产综合精品青草| 国产午夜精品理论片影院 | 亚洲风情无码免费视频| chinese东北老年tv视频| 韩国女人高潮嗷嗷叫视频| 日本粉嫩学生毛绒绒| 孕妇bbwbbwbbwbbw超清| 国产精品人妻系列21P| 欧美14videosex性欧美成人| 亚洲免费黄色| 国产成人a v在线影院| 男女全黄h全肉细节文| 亚洲视频黄| 国产精品久免费的黄网站| 欧美深夜0000XXXX疯狂| 与嫂子同居的日子在线观看| 国产露脸无码A区久久| 青娱国产区在线| 97在线播放| 久久五月综合婷婷中文云霸高清| 亚洲 天堂 欧美 日韩 国产| 纯肉小黄文高H|