当前位置: 首页 > article >正文

运维工作常用Shell脚本(Commonly Used Shell Scripts for Operation and Maintenance Work)

 💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

本人主要分享计算机核心技术:系统维护、数据库、网络安全、自动化运维、容器技术、云计算、人工智能、运维开发、算法结构、物联网、JAVA 、Python、PHP、C、C++等。
不同类型针对性训练,提升逻辑思维,剑指大厂,非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。

运维工作常用Shell脚本------建议收藏备用

Shell脚本是一种用于自动化执行Linux/Unix系统命令的程序脚本。它类似于Windows下的批处理脚本,但功能更强大,效率更高。Shell脚本通过将一系列命令预先放入一个文件中,方便一次性执行,主要用于系统管理和自动化任务‌。

Shell脚本的基本概念和用途

Shell脚本是一种命令语言和程序设计语言的结合体。它既可以交互式地解释和执行用户输入的命令,也可以作为程序设计语言使用,包含变量、参数和控制结构等‌。Shell脚本主要用于自动化完成以下任务:

  • ‌自动化安装和部署‌:如安装部署LAMP架构服务。
  • ‌系统管理‌:如批量添加用户。
  • ‌备份‌:如数据库定时备份。
  • ‌自动化分析‌:处理和分析数据等‌。

Shell脚本的执行方式

Shell脚本有两种执行方式:

  1. ‌交互式(Interactive)‌:用户输入一条命令,Shell解释执行一条。
  2. ‌批处理(Batch)‌:用户事先写一个Shell脚本,其中包含多条命令,Shell一次性执行完这些命令‌。

Shell脚本的常见用途和实例

Shell脚本广泛应用于系统管理、自动化任务、数据分析等领域。例如,自动化安装部署、系统备份、日志分析等。通过Shell脚本,可以大大提高工作效率,减少重复劳动‌。

Shell脚本的常见类型

常见的Shell解释器程序包括:

  • ‌bash‌:大多数Linux系统的默认Shell。
  • ‌ash‌:轻量级的Shell。
  • ‌ksh‌:Korn Shell,功能强大。
  • ‌csh‌:C Shell,适用于需要大量管道操作的场景。
  • ‌zsh‌:Z Shell,功能丰富‌。
作为一名优秀的运维,掌握Shell脚本可是基操。今天就分享一些运维工作会用到的Shell脚本,开箱即用,太好用了~

1.Linux系统发送告警脚本

# yum install mailx

# vi /etc/mail.rcset from=baojingtongzhi@163.com smtp=smtp.163.comset smtp-auth-user=baojingtongzhi@163.com smtp-auth-password=123456set smtp-auth=login2.MySQL数据库备份单循环
#!/bin/bashDATE=$(date +%F_%H-%M-%S)HOST=localhostUSER=backupPASS=123.comBACKUP_DIR=/data/db_backupDB_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; doBACKUP_NAME=$BACKUP_DIR/${DB}_${DATE}.sqlif ! mysqldump -h$HOST -u$USER -p$PASS -B $DB > $BACKUP_NAME 2>/dev/null;thenecho "$BACKUP_NAME 备份失败!"fidone3.查看网卡实时流量脚本
#!/bin/bashNIC=$1echo -e " In ------ Out"while true; doOLD_IN=$(awk '$0~"'$NIC'"{print $2}' /proc/net/dev)OLD_OUT=$(awk '$0~"'$NIC'"{print $10}' /proc/net/dev)sleep 1NEW_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 1done

图片

图片

图片

图片

图片

图片


http://www.kler.cn/a/420094.html

相关文章:

  • Linux - 远程连接服务器
  • Java八股文(11-29start)
  • 【计算机网络】细说IP
  • 经典C语言代码——part 19(链表)
  • MAUI APP开发蓝牙协议的经验分享:与跳绳设备对接
  • 【力扣】3274. 检查棋盘方格颜色是否相同
  • 深入解析 Python 异步编程中的 `gather`、`as_completed` 和 `wait`
  • SQL注入--基本概念
  • 01-标准库开发-STM32定时器
  • 为什么在服务器上设置 fish 为默认 shell, vscode remote ssh 默认还是 bash?
  • flink学习(13)—— 重试机制和维表join
  • 在 uniapp 项目中使用 Iconify 字体图标库
  • 《Python PDF 格式转换全攻略》
  • Linux 进程管理详解
  • 张量并行和流水线并行在Transformer中的具体部位
  • 25.4K Star 高效内存数据存储!特别好用的Redis 和 Memcached 替代品:Dragonfly!
  • redisson-spring-data与Spring-Data-Redis的版本关系问题
  • 性能监控系统Prometheus、Node-exporter与Grafana部署详解搭建
  • 黑马程序员Java项目实战《苍穹外卖》Day03
  • Xilinx PCIe高速接口入门实战(一)
  • 软件保护:从用户角度出发的安全需求与体验
  • C++之 String 类的模拟实现
  • k8s api对象,CRD
  • linux 操作系统环境配置 redhat9
  • 如何利用微型5G网关为智慧无人矿车提供精确定位
  • pytest(一)csv数据驱动