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