简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français

站内搜索

搜索

活动公告

11-02 12:46
10-23 09:32
通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,将及时处理!
10-23 09:31
10-23 09:28
通知:签到时间调整为每日4:00(东八区)
10-23 09:26

Rocky Linux运维必备常用命令速查手册轻松掌握系统管理技巧

3万

主题

423

科技点

3万

积分

大区版主

木柜子打湿

积分
31916

三倍冰淇淋无人之境【一阶】财Doro小樱(小丑装)立华奏以外的星空【二阶】⑨的冰沙

发表于 2025-9-27 15:30:00 | 显示全部楼层 |阅读模式 [标记阅至此楼]

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
引言

Rocky Linux作为CentOS的替代品,已经成为企业级服务器操作系统的热门选择。作为系统管理员,掌握Rocky Linux的常用命令是高效运维的基础。本文将详细介绍Rocky Linux系统管理中必备的命令,帮助运维人员快速掌握系统管理技巧,提高工作效率。

系统信息查看命令

查看系统基本信息
  1. # 查看系统版本信息
  2. cat /etc/rocky-release
  3. # 输出示例:Rocky Linux release 9.1 (Blue Onyx)
  4. # 查看内核版本
  5. uname -a
  6. # 输出示例:Linux rocky9 5.14.0-162.12.1.el9_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jan 5 18:22:20 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
  7. # 查看系统详细信息
  8. hostnamectl
  9. # 输出示例包含系统主机名、操作系统版本、内核版本、架构等详细信息
复制代码

查看硬件信息
  1. # 查看CPU信息
  2. lscpu
  3. # 或
  4. cat /proc/cpuinfo
  5. # 查看内存信息
  6. free -h
  7. # 或
  8. cat /proc/meminfo
  9. # 查看磁盘信息
  10. df -h
  11. # 查看磁盘分区
  12. lsblk
  13. # 查看PCI设备信息
  14. lspci
  15. # 查看USB设备信息
  16. lsusb
复制代码

用户和权限管理命令

用户管理
  1. # 创建新用户
  2. useradd username
  3. # 创建用户并指定家目录
  4. useradd -m username
  5. # 创建用户并指定shell
  6. useradd -s /bin/bash username
  7. # 设置用户密码
  8. passwd username
  9. # 删除用户
  10. userdel username
  11. # 删除用户及其家目录
  12. userdel -r username
  13. # 修改用户属性
  14. usermod -l new_username old_username  # 修改用户名
  15. usermod -d /new/home username         # 修改用户家目录
  16. usermod -s /bin/newshell username     # 修改用户shell
复制代码

组管理
  1. # 创建新组
  2. groupadd groupname
  3. # 删除组
  4. groupdel groupname
  5. # 将用户添加到组
  6. usermod -aG groupname username
  7. # 查看用户所属组
  8. groups username
复制代码

权限管理
  1. # 修改文件权限
  2. chmod 755 filename        # rwxr-xr-x
  3. chmod u+x filename        # 给文件所有者添加执行权限
  4. chmod g-w filename        # 移除组用户的写权限
  5. chmod o=r filename        # 设置其他用户的权限为只读
  6. # 修改文件所有者
  7. chown username filename
  8. # 修改文件所有者和组
  9. chown username:groupname filename
  10. # 修改文件所属组
  11. chgrp groupname filename
  12. # 设置特殊权限
  13. chmod u+s filename        # 设置SUID
  14. chmod g+s directory       # 设置SGID
  15. chmod +t directory        # 设置Sticky Bit
复制代码

文件和目录操作命令

基本文件操作
  1. # 创建文件
  2. touch filename
  3. echo "content" > filename  # 创建文件并写入内容
  4. cat > filename << EOF      # 多行写入
  5. line 1
  6. line 2
  7. EOF
  8. # 查看文件内容
  9. cat filename
  10. less filename        # 分页查看
  11. more filename        # 分页查看(较老的方式)
  12. head -n 10 filename  # 查看前10行
  13. tail -n 10 filename  # 查看后10行
  14. tail -f filename     # 实时查看文件更新
  15. # 编辑文件
  16. nano filename        # 简单文本编辑器
  17. vim filename         # 高级文本编辑器
  18. # 复制文件
  19. cp source_file destination_file
  20. cp -r source_dir destination_dir  # 递归复制目录
  21. # 移动/重命名文件
  22. mv old_name new_name
  23. # 删除文件
  24. rm filename
  25. rm -r directory      # 递归删除目录
  26. rm -f filename       # 强制删除,不提示
复制代码

目录操作
  1. # 创建目录
  2. mkdir directory
  3. mkdir -p path/to/directory  # 创建多级目录
  4. # 切换目录
  5. cd /path/to/directory
  6. cd ..               # 返回上一级目录
  7. cd ~                # 返回用户家目录
  8. cd -                # 返回上一个工作目录
  9. # 查看当前目录
  10. pwd
  11. # 列出目录内容
  12. ls                  # 简单列表
  13. ls -l               # 详细列表
  14. ls -a               # 显示隐藏文件
  15. ls -la              # 显示所有文件的详细信息
  16. ls -lh              # 以易读格式显示文件大小
复制代码

文件查找和搜索
  1. # 查找文件
  2. find /path -name filename
  3. find /path -type f -name "*.log"  # 查找所有.log文件
  4. find /path -mtime -7              # 查找7天内修改过的文件
  5. find /path -size +100M            # 查找大于100M的文件
  6. # 搜索文件内容
  7. grep "search_term" filename
  8. grep -r "search_term" /path/to/directory  # 递归搜索目录
  9. grep -i "search_term" filename           # 不区分大小写搜索
  10. grep -n "search_term" filename           # 显示行号
  11. grep -v "search_term" filename           # 显示不包含搜索词的行
  12. # 定位文件
  13. locate filename       # 快速查找文件(需要updatedb更新数据库)
复制代码

进程管理命令

查看进程
  1. # 查看正在运行的进程
  2. ps aux
  3. ps -ef
  4. ps -u username       # 查看特定用户的进程
  5. # 实时查看进程状态
  6. top
  7. htop                 # 更友好的进程查看器(需要安装)
  8. # 查看进程树
  9. pstree
  10. # 查看特定进程
  11. ps -p PID
  12. pgrep process_name   # 查找进程ID
复制代码

控制进程
  1. # 终止进程
  2. kill PID
  3. kill -9 PID          # 强制终止进程
  4. # 终止进程名对应的进程
  5. pkill process_name
  6. pkill -f "command_pattern"  # 根据命令模式终止进程
  7. # 暂停和恢复进程
  8. kill -STOP PID       # 暂停进程
  9. kill -CONT PID       # 恢复进程
  10. # 后台运行进程
  11. command &            # 后台运行命令
  12. jobs                 # 查看后台作业
  13. fg %1                # 将作业1带到前台
  14. bg %1                # 将作业1放到后台运行
复制代码

进程优先级管理
  1. # 以指定优先级启动进程
  2. nice -n 10 command   # 优先级值越高,优先级越低(范围-20到19)
  3. # 修改正在运行进程的优先级
  4. renice -n 10 PID
复制代码

网络配置和诊断命令

网络接口配置
  1. # 查看网络接口
  2. ip addr show
  3. ifconfig             # 传统方式(需要安装net-tools)
  4. # 启用/禁用网络接口
  5. ip link set eth0 up
  6. ip link set eth0 down
  7. # 配置IP地址
  8. ip addr add 192.168.1.100/24 dev eth0
  9. ip addr del 192.168.1.100/24 dev eth0
  10. # 查看路由表
  11. ip route show
  12. route -n             # 传统方式
复制代码

网络诊断
  1. # 测试网络连通性
  2. ping hostname_or_ip
  3. ping -c 4 hostname_or_ip  # 发送4个ping包后停止
  4. ping -i 0.2 hostname_or_ip # 每0.2秒发送一个ping包
  5. # 跟踪网络路由
  6. traceroute hostname_or_ip
  7. tracepath hostname_or_ip   # 简化版的traceroute
  8. # 查看网络连接
  9. ss -tuln              # 查看监听的TCP和UDP端口
  10. netstat -tuln         # 传统方式(需要安装net-tools)
  11. # 查看网络统计信息
  12. netstat -s
  13. ip -s link
  14. # 查看socket统计信息
  15. ss -s
复制代码

网络故障排查
  1. # 查看DNS解析
  2. nslookup domain_name
  3. dig domain_name       # 更详细的DNS查询
  4. host domain_name      # 简单的DNS查询
  5. # 抓包分析
  6. tcpdump -i eth0       # 在eth0接口上抓包
  7. tcpdump -i eth0 port 80  # 抓取80端口的流量
  8. tcpdump -w capture.pcap -i eth0  # 将抓包结果保存到文件
  9. # 查看网络带宽使用
  10. iftop                # 实时查看网络带宽使用(需要安装)
  11. nload                # 实时查看网络流量(需要安装)
复制代码

防火墙管理
  1. # 查看防火墙状态
  2. firewall-cmd --state
  3. # 查看防火墙规则
  4. firewall-cmd --list-all
  5. # 开放端口
  6. firewall-cmd --permanent --add-port=80/tcp
  7. firewall-cmd --reload
  8. # 关闭端口
  9. firewall-cmd --permanent --remove-port=80/tcp
  10. firewall-cmd --reload
  11. # 允许服务
  12. firewall-cmd --permanent --add-service=http
  13. firewall-cmd --reload
  14. # 使用iptables(传统方式)
  15. iptables -L           # 列出规则
  16. iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # 允许80端口
  17. service iptables save # 保存规则
复制代码

软件包管理命令

DNF包管理器
  1. # 安装软件包
  2. dnf install package_name
  3. # 卸载软件包
  4. dnf remove package_name
  5. # 更新软件包
  6. dnf update package_name
  7. dnf update           # 更新所有软件包
  8. # 搜索软件包
  9. dnf search keyword
  10. # 查看软件包信息
  11. dnf info package_name
  12. # 列出已安装的软件包
  13. dnf list installed
  14. # 清理缓存
  15. dnf clean all
  16. # 查看软件包依赖关系
  17. dnf repoquery --requires package_name
  18. # 查看哪个文件属于哪个软件包
  19. dnf provides /path/to/file
复制代码

RPM包管理
  1. # 安装RPM包
  2. rpm -ivh package.rpm
  3. # 升级RPM包
  4. rpm -Uvh package.rpm
  5. # 卸载RPM包
  6. rpm -e package_name
  7. # 查询已安装的RPM包
  8. rpm -qa
  9. rpm -qa | grep package_name
  10. # 查询RPM包信息
  11. rpm -qi package_name
  12. # 查询RPM包安装的文件
  13. rpm -ql package_name
  14. # 查询文件属于哪个RPM包
  15. rpm -qf /path/to/file
  16. # 验证RPM包
  17. rpm -V package_name
复制代码

源码编译安装
  1. # 下载源码
  2. wget https://example.com/source.tar.gz
  3. tar -zxvf source.tar.gz
  4. cd source_directory
  5. # 配置编译选项
  6. ./configure --prefix=/usr/local/package_name
  7. # 编译
  8. make
  9. # 安装
  10. make install
  11. # 卸载(如果支持)
  12. make uninstall
复制代码

系统服务管理命令

Systemd服务管理
  1. # 启动服务
  2. systemctl start service_name
  3. # 停止服务
  4. systemctl stop service_name
  5. # 重启服务
  6. systemctl restart service_name
  7. # 重新加载服务配置
  8. systemctl reload service_name
  9. # 查看服务状态
  10. systemctl status service_name
  11. # 启用服务开机自启
  12. systemctl enable service_name
  13. # 禁用服务开机自启
  14. systemctl disable service_name
  15. # 查看所有已启用的服务
  16. systemctl list-unit-files | grep enabled
  17. # 查看服务日志
  18. journalctl -u service_name
  19. journalctl -u service_name -f  # 实时查看日志
复制代码

运行级别管理
  1. # 查看当前运行级别
  2. systemctl get-default
  3. # 设置默认运行级别
  4. systemctl set-default multi-user.target    # 命令行模式
  5. systemctl set-default graphical.target     # 图形界面模式
  6. # 切换运行级别
  7. systemctl isolate multi-user.target
  8. systemctl isolate graphical.target
  9. # 查看当前激活的目标
  10. systemctl list-units --type=target
复制代码

定时任务管理
  1. # 编辑当前用户的定时任务
  2. crontab -e
  3. # 查看当前用户的定时任务
  4. crontab -l
  5. # 删除当前用户的定时任务
  6. crontab -r
  7. # 编辑系统定时任务
  8. vim /etc/crontab
  9. # 查看系统定时任务目录
  10. ls /etc/cron.d/
  11. ls /etc/cron.hourly/
  12. ls /etc/cron.daily/
  13. ls /etc/cron.weekly/
  14. ls /etc/cron.monthly/
  15. # 管理anacron任务(适用于不全天运行的系统)
  16. vim /etc/anacrontab
复制代码

磁盘和存储管理命令

磁盘分区
  1. # 查看磁盘分区
  2. fdisk -l
  3. lsblk
  4. # 创建分区
  5. fdisk /dev/sdb
  6. # 在fdisk交互界面中:
  7. # n - 新建分区
  8. # p - 主分区
  9. # e - 扩展分区
  10. # d - 删除分区
  11. # w - 保存并退出
  12. # q - 不保存退出
  13. # 格式化分区
  14. mkfs.ext4 /dev/sdb1
  15. mkfs.xfs /dev/sdb1
  16. mkfs.vfat /dev/sdb1
  17. # 挂载分区
  18. mount /dev/sdb1 /mnt
  19. mount -t ext4 /dev/sdb1 /mnt
  20. # 卸载分区
  21. umount /mnt
  22. umount /dev/sdb1
  23. # 设置开机自动挂载
  24. vim /etc/fstab
  25. # 添加类似以下行:
  26. # /dev/sdb1   /mnt   ext4   defaults   0   0
复制代码

LVM管理
  1. # 创建物理卷
  2. pvcreate /dev/sdb1
  3. # 创建卷组
  4. vgcreate vg_name /dev/sdb1
  5. # 创建逻辑卷
  6. lvcreate -L 10G -n lv_name vg_name
  7. # 格式化逻辑卷
  8. mkfs.ext4 /dev/vg_name/lv_name
  9. # 挂载逻辑卷
  10. mount /dev/vg_name/lv_name /mnt
  11. # 扩展逻辑卷
  12. lvextend -L +5G /dev/vg_name/lv_name
  13. resize2fs /dev/vg_name/lv_name  # 对于ext4文件系统
  14. xfs_growfs /mnt                 # 对于XFS文件系统
  15. # 缩减逻辑卷(需要先缩减文件系统)
  16. resize2fs /dev/vg_name/lv_name 5G  # 对于ext4文件系统
  17. lvreduce -L 5G /dev/vg_name/lv_name
  18. # 查看LVM信息
  19. pvdisplay
  20. vgdisplay
  21. lvdisplay
复制代码

RAID管理
  1. # 创建RAID设备(以RAID1为例)
  2. mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
  3. # 查看RAID状态
  4. mdadm --detail /dev/md0
  5. cat /proc/mdstat
  6. # 格式化RAID设备
  7. mkfs.ext4 /dev/md0
  8. # 挂载RAID设备
  9. mount /dev/md0 /mnt
  10. # 停止RAID设备
  11. mdadm --stop /dev/md0
  12. # 启动RAID设备
  13. mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1
  14. # 添加热备盘
  15. mdadm --add /dev/md0 /dev/sdd1
  16. # 移除故障盘
  17. mdadm --fail /dev/md0 /dev/sdb1
  18. mdadm --remove /dev/md0 /dev/sdb1
复制代码

系统监控和性能分析命令

系统资源监控
  1. # 查看系统负载
  2. uptime
  3. top
  4. htop
  5. # 查看内存使用情况
  6. free -h
  7. vmstat
  8. cat /proc/meminfo
  9. # 查看CPU使用情况
  10. mpstat 1 5           # 每秒更新一次,共5次
  11. sar -u 1 5           # 系统活动报告
  12. # 查看磁盘I/O
  13. iostat -xz 1
  14. iotop                # 实时查看磁盘I/O(需要安装)
  15. # 查看网络使用情况
  16. nload
  17. iftop
  18. sar -n DEV 1
复制代码

进程监控
  1. # 查看进程资源使用
  2. ps aux --sort=-%cpu  # 按CPU使用率排序
  3. ps aux --sort=-%mem  # 按内存使用率排序
  4. # 查看特定进程的详细信息
  5. ps -p PID -o pid,ppid,cmd,%mem,%cpu,etime
  6. # 查看进程打开的文件
  7. lsof -p PID
  8. lsof /path/to/file   # 查看哪些进程使用了特定文件
  9. # 查看进程内存映射
  10. cat /proc/PID/maps
  11. pmap PID
复制代码

性能分析工具
  1. # 系统性能分析工具
  2. perf top             # 实时性能分析
  3. perf record -a       # 记录系统性能数据
  4. perf report          # 分析记录的性能数据
  5. # 系统调用跟踪
  6. strace -p PID        # 跟踪进程的系统调用
  7. strace command       # 跟踪命令执行的系统调用
  8. # 网络性能分析
  9. netstat -s           # 网络统计信息
  10. ss -s                # socket统计信息
  11. tcpdump -i eth0      # 抓包分析
  12. # 磁盘性能分析
  13. dd if=/dev/zero of=/tmp/test bs=1G count=1 oflag=direct  # 测试磁盘写入速度
  14. dd if=/tmp/test of=/dev/null bs=1G iflag=direct          # 测试磁盘读取速度
复制代码

日志管理命令

系统日志
  1. # 查看系统日志
  2. journalctl            # 查看所有系统日志
  3. journalctl -b        # 查看当前启动的日志
  4. journalctl -f        # 实时查看日志
  5. journalctl -u service_name  # 查看特定服务的日志
  6. # 查看内核日志
  7. dmesg
  8. dmesg -T             # 显示人类可读的时间戳
  9. dmesg -w             # 实时查看内核日志
  10. # 查看认证日志
  11. cat /var/log/secure
  12. tail -f /var/log/secure
复制代码

应用日志
  1. # 查看Apache/Nginx访问日志
  2. tail -f /var/log/httpd/access_log
  3. tail -f /var/log/nginx/access.log
  4. # 查看Apache/Nginx错误日志
  5. tail -f /var/log/httpd/error_log
  6. tail -f /var/log/nginx/error.log
  7. # 查看MySQL日志
  8. tail -f /var/log/mysqld.log
  9. # 查看邮件日志
  10. tail -f /var/log/maillog
复制代码

日志轮转
  1. # 配置日志轮转
  2. vim /etc/logrotate.conf
  3. vim /etc/logrotate.d/service_name
  4. # 手动执行日志轮转
  5. logrotate -f /etc/logrotate.conf
  6. # 查看日志轮转状态
  7. cat /var/lib/logrotate/status
复制代码

安全相关命令

系统安全
  1. # 查看登录历史
  2. last
  3. lastb               # 查看失败的登录尝试
  4. # 查看当前登录用户
  5. w
  6. who
  7. users
  8. # 查看用户活动
  9. lastlog             # 查看所有用户最近登录情况
  10. # 检查文件完整性
  11. rpm -Va             # 检查所有RPM包的文件完整性
  12. aide --check        # 使用高级入侵检测环境检查文件完整性(需要安装)
复制代码

防火墙和SELinux
  1. # SELinux状态查看
  2. sestatus
  3. getenforce
  4. # SELinux模式切换
  5. setenforce 0        # 切换到宽容模式
  6. setenforce 1        # 切换到强制模式
  7. # 查看SELinux上下文
  8. ls -Z /path/to/file
  9. ps -Z
  10. # 修改SELinux上下文
  11. chcon -t httpd_sys_content_t /path/to/file
  12. restorecon -R /path/to/directory
  13. # 查看SELinux布尔值
  14. getsebool -a
  15. # 设置SELinux布尔值
  16. setsebool -P httpd_can_network_connect_db on
复制代码

系统加固
  1. # 查看开放端口
  2. ss -tuln
  3. netstat -tuln
  4. # 查看监听的服务
  5. systemctl list-units --type=service --state=running
  6. # 查看用户权限
  7. sudo -l -U username  # 查看用户的sudo权限
  8. # 检查密码策略
  9. chage -l username    # 查看用户密码过期信息
  10. # 设置密码策略
  11. vim /etc/login.defs  # 修改密码策略配置文件
  12. vim /etc/security/pwquality.conf  # 修改密码质量配置文件
复制代码

常用故障排除技巧

系统启动问题
  1. # 查看启动日志
  2. journalctl -b
  3. dmesg
  4. # 进入救援模式
  5. # 重启系统,在GRUB菜单中选择"Rocky Linux"并按'e'编辑
  6. # 在linux16行末尾添加"rd.break"或"systemd.unit=rescue.target"
  7. # 按Ctrl+X启动
  8. # 重置root密码
  9. # 在救援模式下:
  10. mount -o remount,rw /sysroot
  11. chroot /sysroot
  12. passwd root
  13. exit
  14. reboot
复制代码

磁盘空间问题
  1. # 查找大文件
  2. find / -type f -size +100M -exec ls -lh {} \;
  3. # 查找大目录
  4. du -h --max-depth=1 / | sort -hr
  5. # 清理旧日志
  6. journalctl --vacuum-size=100M
  7. find /var/log -type f -name "*.log.*" -delete
  8. # 清理软件包缓存
  9. dnf clean all
复制代码

网络连接问题
  1. # 检查网络接口状态
  2. ip addr show
  3. ip link show
  4. # 检查路由表
  5. ip route show
  6. # 检查DNS解析
  7. nslookup example.com
  8. dig example.com
  9. # 检查端口监听
  10. ss -tuln
  11. netstat -tuln
  12. # 跟踪网络路径
  13. traceroute example.com
  14. tracepath example.com
  15. # 抓包分析
  16. tcpdump -i any -n host example.com
复制代码

服务问题
  1. # 检查服务状态
  2. systemctl status service_name
  3. # 查看服务日志
  4. journalctl -u service_name
  5. tail -f /var/log/service_name.log
  6. # 检查服务依赖
  7. systemctl list-dependencies service_name
  8. # 重启服务
  9. systemctl restart service_name
  10. # 重新加载服务配置
  11. systemctl reload service_name
复制代码

实用脚本和自动化示例

系统信息收集脚本
  1. #!/bin/bash
  2. # 系统信息收集脚本
  3. # 创建输出目录
  4. OUTPUT_DIR="system_info_$(date +%Y%m%d_%H%M%S)"
  5. mkdir -p $OUTPUT_DIR
  6. # 收集系统基本信息
  7. echo "收集系统基本信息..."
  8. uname -a > $OUTPUT_DIR/system_info.txt
  9. cat /etc/rocky-release >> $OUTPUT_DIR/system_info.txt
  10. uptime >> $OUTPUT_DIR/system_info.txt
  11. # 收集硬件信息
  12. echo "收集硬件信息..."
  13. lscpu > $OUTPUT_DIR/cpu_info.txt
  14. free -h > $OUTPUT_DIR/memory_info.txt
  15. df -h > $OUTPUT_DIR/disk_info.txt
  16. lsblk > $OUTPUT_DIR/block_devices.txt
  17. lspci > $OUTPUT_DIR/pci_devices.txt
  18. # 收集网络信息
  19. echo "收集网络信息..."
  20. ip addr show > $OUTPUT_DIR/network_info.txt
  21. ip route show >> $OUTPUT_DIR/network_info.txt
  22. ss -tuln > $OUTPUT_DIR/network_connections.txt
  23. # 收集进程信息
  24. echo "收集进程信息..."
  25. ps aux > $OUTPUT_DIR/process_list.txt
  26. top -b -n 1 > $OUTPUT_DIR/top_output.txt
  27. # 收集服务状态
  28. echo "收集服务状态..."
  29. systemctl list-units --type=service --state=running > $OUTPUT_DIR/running_services.txt
  30. # 收集日志
  31. echo "收集日志..."
  32. journalctl -b > $OUTPUT_DIR/system_logs.txt
  33. dmesg > $OUTPUT_DIR/kernel_logs.txt
  34. # 打包信息
  35. echo "打包收集的信息..."
  36. tar -czf ${OUTPUT_DIR}.tar.gz $OUTPUT_DIR
  37. rm -rf $OUTPUT_DIR
  38. echo "系统信息收集完成,已保存到 ${OUTPUT_DIR}.tar.gz"
复制代码

自动备份脚本
  1. #!/bin/bash
  2. # 自动备份脚本
  3. # 配置变量
  4. BACKUP_DIR="/backup"
  5. SOURCE_DIRS=("/etc" "/home" "/var/www")
  6. RETENTION_DAYS=30
  7. TIMESTAMP=$(date +%Y%m%d_%H%M%S)
  8. BACKUP_NAME="backup_${TIMESTAMP}"
  9. # 创建备份目录
  10. mkdir -p $BACKUP_DIR
  11. # 创建备份
  12. echo "开始备份..."
  13. tar -czf $BACKUP_DIR/${BACKUP_NAME}.tar.gz ${SOURCE_DIRS[@]}
  14. # 验证备份
  15. if [ $? -eq 0 ]; then
  16.     echo "备份成功: $BACKUP_DIR/${BACKUP_NAME}.tar.gz"
  17. else
  18.     echo "备份失败!"
  19.     exit 1
  20. fi
  21. # 清理旧备份
  22. echo "清理 $RETENTION_DAYS 天前的备份..."
  23. find $BACKUP_DIR -name "backup_*.tar.gz" -mtime +$RETENTION_DAYS -delete
  24. # 记录日志
  25. echo "$(date): 备份 $BACKUP_NAME 创建成功" >> $BACKUP_DIR/backup.log
  26. echo "备份任务完成"
复制代码

系统监控脚本
  1. #!/bin/bash
  2. # 系统监控脚本
  3. # 配置变量
  4. ALERT_CPU=80
  5. ALERT_MEM=80
  6. ALERT_DISK=80
  7. LOG_FILE="/var/log/system_monitor.log"
  8. EMAIL="admin@example.com"
  9. # 获取系统指标
  10. CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
  11. MEM_USAGE=$(free | grep Mem | awk '{print $3/$2 * 100.0}')
  12. DISK_USAGE=$(df -h / | awk 'NR==2 {print $5}' | sed 's/%//')
  13. # 检查CPU使用率
  14. if (( $(echo "$CPU_USAGE > $ALERT_CPU" | bc -l) )); then
  15.     echo "$(date): 警告! CPU使用率过高: $CPU_USAGE%" >> $LOG_FILE
  16.     echo "CPU使用率过高: $CPU_USAGE%" | mail -s "系统监控警告" $EMAIL
  17. fi
  18. # 检查内存使用率
  19. if (( $(echo "$MEM_USAGE > $ALERT_MEM" | bc -l) )); then
  20.     echo "$(date): 警告! 内存使用率过高: $MEM_USAGE%" >> $LOG_FILE
  21.     echo "内存使用率过高: $MEM_USAGE%" | mail -s "系统监控警告" $EMAIL
  22. fi
  23. # 检查磁盘使用率
  24. if [ $DISK_USAGE -gt $ALERT_DISK ]; then
  25.     echo "$(date): 警告! 磁盘使用率过高: $DISK_USAGE%" >> $LOG_FILE
  26.     echo "磁盘使用率过高: $DISK_USAGE%" | mail -s "系统监控警告" $EMAIL
  27. fi
  28. # 记录系统状态
  29. echo "$(date): CPU: $CPU_USAGE%, 内存: $MEM_USAGE%, 磁盘: $DISK_USAGE%" >> $LOG_FILE
复制代码

总结

Rocky Linux作为企业级服务器操作系统,其系统管理涉及多个方面。本文详细介绍了Rocky Linux运维中常用的命令,包括系统信息查看、用户和权限管理、文件和目录操作、进程管理、网络配置和诊断、软件包管理、系统服务管理、磁盘和存储管理、系统监控和性能分析、日志管理、安全相关命令以及常用故障排除技巧。

掌握这些命令是Rocky Linux系统管理员的基础技能。通过结合实际场景和自动化脚本,可以大大提高运维效率,确保系统的稳定运行。希望本文能够帮助运维人员快速掌握Rocky Linux的系统管理技巧,成为更加专业的系统管理员。
回复

使用道具 举报

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

本版积分规则

频道订阅

频道订阅

加入社群

加入社群

联系我们|TG频道|RSS

Powered by Pixtech

© 2025 Pixtech Team.