本文介绍如何利用YUM (Yellowdog Updater, Modified) 自动化常见的Linux系统管理任务。YUM是基于RPM的Linux系统中强大的软件包管理器,可用于安装、更新、卸载和查询软件包。以下是一些自动化脚本示例:
1. 软件包批量安装:
以下脚本演示如何一次性安装多个软件包:
2. 系统软件包更新:
此脚本更新系统所有软件包:
3. 软件包批量卸载:
此脚本批量卸载软件包:
4. 软件包条件安装:
此脚本检查软件包是否存在,若不存在则安装:
CentOS Linux 7.9.2009
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。
下载
5. 清理YUM缓存:
此脚本清理YUM缓存,释放磁盘空间:
6. 自动化备份与恢复:
以下脚本示例演示自动化备份和恢复:
备份脚本:
恢复脚本:
重要提示:
权限:
运行脚本前,请使用
命令赋予脚本执行权限。
错误处理:
实际应用中,建议添加完善的错误处理机制,以便及时发现并处理脚本执行过程中可能出现的错误。
日志记录:
建议添加日志记录功能,方便追踪脚本的执行过程和结果。
通过编写并合理运用这些脚本,您可以有效地自动化许多Linux系统管理任务,显著提高工作效率。 请务必根据实际情况修改脚本中的路径和软件包名称。
#!/bin/bash
# 待安装软件包列表
packages=(
"httpd"
"mysql-server"
"php"
)
# 使用yum安装,-y选项表示自动确认
yum install -y "${packages[@]}"#!/bin/bash
# 更新所有软件包
yum update -y#!/bin/bash
# 待卸载软件包列表
packages=(
"httpd"
"mysql-server"
"php"
)
# 使用yum卸载,-y选项表示自动确认
yum remove -y "${packages[@]}"#!/bin/bash
# 待检查及安装的软件包
package="httpd"
# 检查软件包是否已安装
if ! rpm -q "$package" > /dev/null; then
echo "$package 未安装,正在安装..."
yum install -y "$package"
else
echo "$package 已安装。"
fi#!/bin/bash
# 清理YUM缓存
yum clean all#!/bin/bash
# 备份目录及文件名
backup_dir="/backup"
date=$(date +%Y%m%d%H%M%S)
backup_file="$backup_dir/backup_$date.tar.gz"
# 创建备份目录 (若不存在)
mkdir -p "$backup_dir"
# 备份指定目录,请替换 /path/to/directory 为实际路径
tar -czvf "$backup_file" /path/to/directory
echo "备份完成,文件路径: $backup_file"#!/bin/bash
# 备份文件及恢复目录,请替换为实际路径
backup_file="/backup/backup_20230401123456.tar.gz"
restore_dir="/path/to/restore"
# 解压备份文件
tar -xzvf "$backup_file" -C "$restore_dir"
echo "恢复完成,文件路径: $restore_dir"chmod +x script_name.sh