生产环境超实用Shell脚本二

我码玄黄 2025-02-08 10:19:31
生产环境超实用Shell脚本二

Shell脚本作为自动化运维的利器,在生产环境中扮演着至关重要的角色。

本文将介绍自动化部署脚本、用户管理脚本、 软件安装脚本、网络配置脚本,帮助您提升运维效率。

1. 自动化部署脚本功能: 自动化部署应用程序,包括代码拉取、依赖安装、配置修改、服务启动等。应用场景: 简化部署流程,提高部署效率,减少人为错误。示例代码:

#!/bin/bash# 定义项目目录和代码仓库地址project_dir="/var/www/myapp"repo_url="git@github.com:user/myapp.git"# 拉取最新代码cd $project_dirgit pull $repo_url# 安装依赖npm install# 修改配置文件sed -i 's/DATABASE_HOST=localhost/DATABASE_HOST=db.example.com/' .env# 重启服务systemctl restart myappecho "部署完成!"

2. 用户管理脚本功能: 批量创建、删除、修改用户账号和权限。应用场景: 简化用户管理流程,提高管理效率。示例代码:

#!/bin/bash# 定义用户列表文件user_list="user_list.txt"# 遍历用户列表文件while read -r username password; do    # 创建用户    useradd -m -s /bin/bash $username    # 设置用户密码    echo "$username:$password" | chpasswd    # 添加用户到sudo组    usermod -aG sudo $usernamedone < $user_listecho "用户创建完成!"

3. 软件安装脚本功能: 自动化安装和配置软件包。应用场景: 简化软件安装流程,提高安装效率。示例代码:

#!/bin/bash# 更新软件包列表apt-get update# 安装软件包apt-get install -y nginx mysql-server php-fpm# 配置软件包sed -i 's/listen = 127.0.0.1:9000/listen = /var/run/php/php7.4-fpm.sock/' /etc/php/7.4/fpm/pool.d/www.conf# 启动服务systemctl start nginx mysql php7.4-fpmecho "软件安装完成!"

4. 网络配置脚本功能: 配置网络接口、IP地址、路由、防火墙等。应用场景: 简化网络配置流程,提高配置效率。示例代码:

#!/bin/bash# 配置网络接口cat <<EOF > /etc/network/interfacesauto eth0iface eth0 inet static    address 192.168.1.100    netmask 255.255.255.0    gateway 192.168.1.1EOF# 重启网络服务systemctl restart networking# 配置防火墙ufw allow 22/tcpufw allow 80/tcpufw enableecho "网络配置完成!"

总结自动化部署脚本:自动化部署应用程序,提高部署效率。用户管理脚本:批量创建、删除、修改用户账号和权限。软件安装脚本:自动化安装和配置软件包,简化安装流程。网络配置脚本:配置网络接口、IP地址、路由、防火墙等,简化网络配置流程。

通过使用这些脚本,可以大大提高运维效率,减少人工操作的错误和时间成本。

– 欢迎点赞、关注、转发、收藏【我码玄黄】,各大平台同名。

0 阅读:10
我码玄黄

我码玄黄

我是一名程序猿、铲屎官,喜欢分享美食、生活和学习