Shell 指令碼是一種能夠自動執行命令的指令碼語言,它是 Linux 作業系統中的重要組成部分。透過編寫 Shell 指令碼,我們可以實現自動化執行一系列命令、批次處理檔案、開發工具等功能。
作為一名優秀的運維,掌握Shell指令碼可是基操。今天就分享一些280個工作會用到的Shell指令碼,開箱即用,太好用了~
1.Linux系統傳送告警指令碼
# yum install mailx
# vi /etc/mail.rc
setfrom=baojingtongzhi@163.com smtp=smtp.163.com
set smtp-auth-user=baojingtongzhi@163.com smtp-auth-password=123456
set smtp-auth=login
2.MySQL資料庫備份單迴圈
DATE=$(date +%F_%H-%M-%S)
HOST=localhost
USER=backup
PASS=123.com
BACKUP_DIR=/data/db_backup
DB_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "show databases;" 2>/dev/null
|egrep -v "Database|information_schema|mysql|performance_schema|sys")
for DB in$DB_LIST; do
BACKUP_NAME=$BACKUP_DIR/${DB}_${DATE}.sql
if ! mysqldump -h$HOST -u$USER -p$PASS -B $DB > $BACKUP_NAME 2>/dev/null;
then
echo"$BACKUP_NAME 備份失敗!"
fi
done
3.檢視網絡卡即時流量指令碼
NIC=$1
echo -e " In ------ Out"
whiletrue; do
OLD_IN=$(awk '$0~"'$NIC'"{print $2}' /proc/net/dev)
OLD_OUT=$(awk '$0~"'$NIC'"{print $10}' /proc/net/dev)
sleep 1
NEW_IN=$(awk '$0~"'$NIC'"{print $2}' /proc/net/dev)
NEW_OUT=$(awk '$0~"'$NIC'"{print $10}' /proc/net/dev)
IN=$(printf"%.1f%s""$((($NEW_IN-$OLD_IN)/1024))""KB/s")
OUT=$(printf"%.1f%s""$((($NEW_OUT-$OLD_OUT)/1024))""KB/s")
echo"$IN$OUT"
sleep 1
done





指令碼太多不能全部展示出來,不過也為大家準備好了免費領取通道,掃描二維碼,備註“280個shell指令碼”,即可免費領取完整PDF。

掃碼一鍵領取↑,後臺不能傳送