找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3581|回复: 0

20个Linux运维常用一键脚本

[复制链接]

305

主题

42

回帖

1421

积分

超级版主

积分
1421
发表于 2024-12-9 12:29:57 | 显示全部楼层 |阅读模式
1. 一键安装Apache服务器
  1. #!/bin/bash
  2. sudo apt-get update
  3. sudo apt-get install -y apache2
  4. sudo systemctl start apache2
  5. sudo systemctl enable apache2
  6. echo "Apache服务器已安装并启动"
复制代码

2. 一键安装MySQL数据库

  1. #!/bin/bash
  2. sudo apt-get update
  3. sudo apt-get install -y mysql-server
  4. sudo mysql_secure_installation
  5. sudo systemctl start mysql
  6. sudo systemctl enable mysql
  7. echo "MySQL数据库已安装并启动"
复制代码

功能用途:自动化安装MySQL数据库,并提示进行安全配置。

3. 一键备份MySQL数据库

  1. #!/bin/bash
  2. USER="your_mysql_user"
  3. PASSWORD="your_mysql_password"
  4. DB_NAME="your_database_name"
  5. BACKUP_DIR="/path/to/backup"
  6. DATE=$(date +"%Y-%m-%d")
  7. mysqldump -u $USER -p$PASSWORD $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sql
  8. echo "数据库已备份到 $BACKUP_DIR"
复制代码

功能用途:备份指定的MySQL数据库到指定目录。

4. 一键安装Nginx

  1. #!/bin/bash
  2. sudo apt-get update
  3. sudo apt-get install -y nginx
  4. sudo systemctl start nginx
  5. sudo systemctl enable nginx
  6. echo "Nginx服务器已安装并启动"
复制代码

功能用途:自动化安装并启动Nginx服务器。

5. 一键配置防火墙

  1. #!/bin/bash
  2. sudo ufw allow 'Nginx Full'
  3. sudo ufw allow 'OpenSSH'
  4. sudo ufw enable
  5. sudo ufw status
  6. echo "防火墙已配置并启用"
复制代码

功能用途:配置防火墙以允许Nginx和SSH服务。

6. 一键更新系统

  1. #!/bin/bash
  2. sudo apt-get update
  3. sudo apt-get upgrade -y
  4. sudo apt-get dist-upgrade -y
  5. sudo reboot
  6. echo "系统已更新并重启"
复制代码

功能用途:更新系统软件包,并重启系统以应用更改。

7. 一键安装Docker

  1. #!/bin/bash
  2. sudo apt-get update
  3. sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
  4. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  5. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  6. sudo apt-get update
  7. sudo apt-get install -y docker-ce
  8. sudo systemctl start docker
  9. sudo systemctl enable docker
  10. sudo usermod -aG docker $USER
  11. echo "Docker已安装并启动,用户已添加到docker组"
复制代码

功能用途:自动化安装Docker,并将当前用户添加到docker组。

8. 一键清理系统日志

  1. #!/bin/bash
  2. sudo find /var/log/ -type f -name "*.log" -exec truncate -s 0 {} \;
  3. echo "系统日志已清理"
复制代码

功能用途:清空系统日志文件。

9. 一键安装PHP

功能用途:安装PHP及其Apache模块,以便在Apache服务器上运行PHP代码。

  1. #!/bin/bash
  2. sudo apt-get update
  3. sudo apt-get install -y php libapache2-mod-php php-mysql
  4. sudo systemctl restart apache2
  5. echo "PHP已安装并配置为Apache模块"
复制代码

10. 一键监控CPU和内存使用率

  1. #!/bin/bash
  2. watch -n 1 'free -m && top -bn1 | grep "Cpu(s)"'
复制代码

功能用途:实时监控CPU和内存使用率。

11. 一键查找大文件

  1. #!/bin/bash
  2. sudo find / -type f -size +100M -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
复制代码

功能用途:查找系统中大于100MB的文件。

12. 一键安装Git

  1. #!/bin/bash
  2. sudo apt-get update
  3. ### 13. **一键安装Node.js**
  4. ```bash
  5. #!/bin/bash
  6. VERSION="node_14.x" # 可以根据需要更改版本
  7. DISTRO=$(lsb_release -s -c)
  8. echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee /etc/apt/sources.list.d/nodesource.list
  9. sudo apt-get update
  10. sudo apt-get install -y nodejs
  11. echo "Node.js已安装"
复制代码

功能用途:自动化安装指定版本的Node.js。

14. 一键安装Redis

  1. #!/bin/bash
  2. sudo apt-get update
  3. sudo apt-get install -y redis-server
  4. sudo systemctl start redis
  5. sudo systemctl enable redis
  6. echo "Redis已安装并启动"
复制代码

功能用途:自动化安装并启动Redis服务器。

15. 一键安装MongoDB

  1. #!/bin/bash
  2. wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
  3. echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
  4. sudo apt-get update
  5. sudo apt-get install -y mongodb-org
  6. sudo systemctl start mongod
  7. sudo systemctl enable mongod
  8. echo "MongoDB已安装并启动"
复制代码

功能用途:自动化安装并启动MongoDB数据库。

16. 一键配置SSH无密码登录

  1. #!/bin/bash
  2. read -p "请输入要配置的SSH密钥文件路径: " KEY_PATH
  3. ssh-copy-id -i $KEY_PATH user@remote_host # 替换user和remote_host为实际值
  4. echo "SSH无密码登录已配置"
复制代码

功能用途:将本地SSH密钥复制到远程主机,实现无密码登录。

17. 一键安装Python虚拟环境

  1. #!/bin/bash
  2. PYTHON_VERSION="3.8" # 可以根据需要更改版本
  3. sudo apt-get update
  4. sudo apt-get install -y python3-$PYTHON_VERSION python3-venv
  5. echo "Python虚拟环境工具已安装"
复制代码

功能用途:安装指定版本的Python及其虚拟环境工具。

18. 一键压缩目录

  1. #!/bin/bash
  2. read -p "请输入要压缩的目录路径: " DIR_PATH
  3. read -p "请输入压缩文件的名称: " ARCHIVE_NAME
  4. tar -czvf $ARCHIVE_NAME.tar.gz -C $(dirname $DIR_PATH) $(basename $DIR_PATH)
  5. echo "目录已压缩为 $ARCHIVE_NAME.tar.gz"
复制代码

功能用途:压缩指定目录为tar.gz格式文件。

19. 一键安装Java

  1. #!/bin/bash
  2. sudo apt-get update
  3. sudo apt-get install -y openjdk-11-jdk
  4. echo "Java已安装"
复制代码

功能用途:安装OpenJDK 11。

20. 一键检查磁盘空间

  1. #!/bin/bash
  2. df -h | grep -Ev '^Filesystem|tmpfs|cdrom'
复制代码

功能用途:检查并显示系统中各磁盘分区的使用情况,排除临时文件系统、光盘等。


这些脚本覆盖了Linux运维中的常见任务,包括服务器安装、数据库管理、系统更新、日志清理、开发工具安装等。请根据实际情况调整脚本中的参数和路径。在执行这些脚本之前,请确保您有足够的权限,并且已经备份了重要数据。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|333cm ( 京ICP备16037542号 )

GMT+8, 2025-7-1 19:17 , Processed in 0.093425 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表