在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

如何創建自動化腳本

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

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

今天我們介紹一下如何創建自動化腳本。

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

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

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

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

$ cat servers.txt
server1
server2
server3
server4
server5

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

然后創建一個腳本文件 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,然后回循環并連接到 servers.txt 中列出的服務器,并添加用戶。

運行結果如下:

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

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

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

使用 bash 腳本自動備份

備份是我們經常做的事情,那寫個自動備份的腳本來自動化實現,是非常方便的。看如下 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."

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

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

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

運行一下,結果如下:

$ ./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

監視可用磁盤空間

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

$ 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 個字段,就是使用率。

現在我們創建腳本 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

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

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

運行一下,結果如下:

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

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

圖片

同樣,也可以為其設置定時任務:

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

    關注

    29

    文章

    5578

    瀏覽量

    79280
  • 腳本
    +關注

    關注

    1

    文章

    389

    瀏覽量

    14865
  • Bash
    +關注

    關注

    0

    文章

    57

    瀏覽量

    10184
收藏 人收藏

    評論

    相關推薦

    介紹10個Python自動化腳本

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

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

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

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

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

    自動化創建UI并解析數據

    Labview實現動態增加控件效果 - *附件:32960_auto.rar 備注:Main.vi是ui自動化2.1.vi,配置文件為32960.B.ini。 目前可以實現根據配置文件自動化創建控件
    發表于 11-29 11:26

    自動化創建UI并解析數據

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

    手機自動化測試方法

    腳本生成后點擊調試按鈕 8.點擊左下角的啟動鍵進行腳本回放,不要控制鼠標,此時鼠標會自動點擊小蘿貝控機大師進而控制手機進行手機APP自動化測試 `
    發表于 07-05 15:07

    自動化測試腳本開發技巧

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

    iOS自動化打包腳本

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

    虛擬自動化中AI的重要性

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

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

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

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

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

    使用Python腳本實現自動化運維任務

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

    智能辦公自動化系統的創建

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

    keil自動化編譯腳本

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

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

    電子發燒友網站提供《使用OpenSCAD腳本自動化電容式觸摸傳感器PCB設計.pdf》資料免費下載
    發表于 09-14 10:39 ?0次下載
    使用OpenSCAD<b class='flag-5'>腳本</b><b class='flag-5'>自動化</b>電容式觸摸傳感器PCB設計
    主站蜘蛛池模板: 亚洲88av| 国产福利免费观看| 午夜色大片在线观看| 2021国产成人精品国产| 欧美日a| 222www免费观看| аⅴ天堂中文在线网| 一区二区三区伦理高清| 毛片黄色| 免费观看一级特黄三大片视频| 亚洲福利一区| 欧美一区二区三区黄色| 未成人禁止视频高清在线观看| 又粗又大的机巴好爽欧美| 四虎永久在线精品免费影视| 丁香久久婷婷| 奇米影视亚洲春色77777| 深夜性久久| 亚洲第一成网站| 亚洲狠狠狠一区二区三区| 日本高清午夜色wwwσ| 天天操天天干天天做| 日本不卡免费一区| 欧美18性精品| 久久精品伊人波多野结| 在线黄色免费网站| 国产va免费精品观看| 免费观看视频网站| 欧美一级www片免费观看| 奇米影视99| 亚洲日本色图| 91po狼人社在线观看| 视频一区在线观看| 久久精品亚瑟全部免费观看| 成年女人色费视频免费| 四虎影院在线播放| 天天天干| 一色屋免费视频| a成人毛片免费观看| 日本不卡一区二区三区视频| 激情.com|