1. 一键安装 Apache 服务器
#!/bin/bash
sudo apt-get update
sudo apt-get install -y apache2
sudo systemctl start apache2
sudo systemctl enable apache2
echo "Apache 服务器已安装并启动"
功能用途:自动化安装并启动 Apache 服务器。
2. 一键安装 MySQL 数据库
#!/bin/bash
sudo apt-get update
sudo apt-get install -y mysql-server
sudo mysql_secure_installation
sudo systemctl start mysql
sudo systemctl enable mysql
echo "MySQL 数据库已安装并启动"
功能用途:自动化安装 MySQL 数据库,并提示进行安全配置。
3. 一键备份 MySQL 数据库
#!/bin/bash
USER="your_mysql_user"
PASSWORD="your_mysql_password"
DB_NAME="your_database_name"
BACKUP_DIR="/path/to/backup"
DATE=$(date +"%Y-%m-%d")
mysqldump -u $USER -p$PASSWORD $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sql
echo "数据库已备份到 $BACKUP_DIR"
功能用途:备份指定的 MySQL 数据库到指定目录。
4. 一键安装 Nginx
#!/bin/bash
sudo apt-get update
sudo apt-get install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
echo "Nginx 服务器已安装并启动"
功能用途:自动化安装并启动 Nginx 服务器。
5. 一键配置防火墙
#!/bin/bash
sudo ufw allow 'Nginx Full'
sudo ufw allow 'OpenSSH'
sudo ufw enable
sudo ufw status
echo "防火墙已配置并启用"
功能用途:配置防火墙以允许 Nginx 和 SSH 服务。
6. 一键更新系统
#!/bin/bash
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo reboot
echo "系统已更新并重启"
功能用途:更新系统软件包,并重启系统以应用更改。
7. 一键安装 Docker
#!/bin/bash
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $USER
echo "Docker 已安装并启动,用户已添加到 docker 组"
功能用途:自动化安装 Docker,并将当前用户添加到 docker 组。
8. 一键清理系统日志
#!/bin/bash
sudo find /var/log/ -type f -name "*.log" -exec truncate -s 0 {} \;
echo "系统日志已清理"
功能用途:清空系统日志文件。
9. 一键安装 PHP
#!/bin/bash
sudo apt-get update
sudo apt-get install -y php libapache2-mod-php php-mysql
sudo systemctl restart apache2
echo "PHP 已安装并配置为 Apache 模块"
功能用途:安装 PHP 及其 Apache 模块,以便在 Apache 服务器上运行 PHP 代码。
10. 一键监控 CPU 和内存使用率
#!/bin/bash
watch -n 1 'free -m && top -bn1 | grep "Cpu(s)"'
功能用途:实时监控 CPU 和内存使用率。
11. 一键查找大文件
#!/bin/bash
sudo find / -type f -size +100M -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
功能用途:查找系统中大于 100MB 的文件。
12. 一键安装 Git
#!/bin/bash
sudo apt-get update
###
13. **一键安装 Node.js**
```bash
#!/bin/bash
VERSION="node_14.x" # 可以根据需要更改版本
DISTRO=$(lsb_release -s -c)
echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt-get update
sudo apt-get install -y nodejs
echo "Node.js 已安装"
功能用途:自动化安装指定版本的 Node.js。
14. 一键安装 Redis
#!/bin/bash
sudo apt-get update
sudo apt-get install -y redis-server
sudo systemctl start redis
sudo systemctl enable redis
echo "Redis 已安装并启动"
功能用途:自动化安装并启动 Redis 服务器。
15. 一键安装 MongoDB
#!/bin/bash
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
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
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod
echo "MongoDB 已安装并启动"
功能用途:自动化安装并启动 MongoDB 数据库。
16. 一键配置 SSH 无密码登录
#!/bin/bash
read -p "请输入要配置的 SSH 密钥文件路径: " KEY_PATH
ssh-copy-id -i $KEY_PATH user@remote_host # 替换 user 和 remote_host 为实际值
echo "SSH 无密码登录已配置"
功能用途:将本地 SSH 密钥复制到远程主机,实现无密码登录。
17. 一键安装 Python 虚拟环境
#!/bin/bash
PYTHON_VERSION="3.8" # 可以根据需要更改版本
sudo apt-get update
sudo apt-get install -y python3-$PYTHON_VERSION python3-venv
echo "Python 虚拟环境工具已安装"
功能用途:安装指定版本的 Python 及其虚拟环境工具。
18. 一键压缩目录
#!/bin/bash
read -p "请输入要压缩的目录路径: " DIR_PATH
read -p "请输入压缩文件的名称: " ARCHIVE_NAME
tar -czvf $ARCHIVE_NAME.tar.gz -C $(dirname $DIR_PATH) $(basename $DIR_PATH)
echo "目录已压缩为 $ARCHIVE_NAME.tar.gz"
功能用途:压缩指定目录为 tar.gz 格式文件。
19. 一键安装 Java
#!/bin/bash
sudo apt-get update
sudo apt-get install -y openjdk-11-jdk
echo "Java 已安装"
功能用途:安装 OpenJDK 11。
20. 一键检查磁盘空间
#!/bin/bash
df -h | grep -Ev '^Filesystem|tmpfs|cdrom'
功能用途:检查并显示系统中各磁盘分区的使用情况,排除临时文件系统、光盘等。
这些脚本覆盖了 Linux 运维中的常见任务,包括服务器安装、数据库管理、系统更新、日志清理、开发工具安装等。请根据实际情况调整脚本中的参数和路径。在执行这些脚本之前,请确保您有足够的权限,并且已经备份了重要数据。