生产环境超实用Shell脚本二

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

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

1. 自动化部署脚本

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

# 定义项目目录和代码仓库地址
project_dir="/var/www/myapp"
repo_url="git@github.com:user/myapp.git"

# 拉取最新代码
cd $project_dir
git pull $repo_url

# 安装依赖
npm install

# 修改配置文件
sed -i 's/DATABASE_HOST=localhost/DATABASE_HOST=db.example.com/' .env

# 重启服务
systemctl restart myapp

echo "部署完成!"

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 $username
done < $user_list

echo "用户创建完成!"

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-fpm

echo "软件安装完成!"

4. 网络配置脚本

  • 功能: 配置网络接口、IP地址、路由、防火墙等。
  • 应用场景: 简化网络配置流程,提高配置效率。
  • 示例代码:
#!/bin/bash

# 配置网络接口
cat <<EOF > /etc/network/interfaces
auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
EOF

# 重启网络服务
systemctl restart networking

# 配置防火墙
ufw allow 22/tcp
ufw allow 80/tcp
ufw enable

echo "网络配置完成!"

总结

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

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

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


我码玄黄
1 声望0 粉丝