linux 下常用变更-8
1、删除普通用户
查询用户初始UID和GID | ls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID |
删除用户 | 1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW343:x:1202:1202::/home/YW343:/bin/bash 3.修改完成保存退出 4.userdel -r YW343 命令删除用户 |
2、 目录碎文件清理
1 | 进入清理目录 | cd /var/spool/postfix/maildrop(假设目录) | |
2 | 执行清理 | 1.ls |xargs -n 50 ##查看文件属主,确认为smartmon用户产生的垃圾文件 2.ls |xargs -n 50 rm ##清理此目录零碎垃圾文件 | xargs -n 50 命令 xargs:将标准输入(stdin)转换为命令行参数。 -n 50:指定每次处理 50 个参数,并将它们作为一行输出。 执行效果 假设当前目录有 100 个文件(file1 到 file100),执行该命令后: 前 50 个文件会被显示在第一行,以空格分隔。 后 50 个文件会被显示在第二行,以空格分隔。 file1 file2 file3 ... file50 file51 file52 file53 ... file100 ls | xargs -n 50 rm # 分批次删除,每次处理 50 个文件 |
3 | 修改smartmon用户任务计划配置 | 1. cd /var/spool/cron 进入系统任务计划目录 2. vi smartmon 编辑smartmon用户任务计划配置文件,在文件首行添加下列内容 MAILTO = "" 3. 保存并退出编辑 | 禁止定时任务发送邮件 如果文件已经存在内容,确保 MAILTO = "" 位于第一行,否则可能无法生效。 MAILTO = "" 会完全禁用邮件通知。如果需要接收特定任务的邮件,请将空字符串改为有效的邮箱地址。 MAILTO = "" # 原有的 cron 任务配置... 0 0 * * * root /usr/sbin/smartctl --all /dev/sda |
3、服务器磁盘扩容目录调整
1 | 等待应拷贝数据文件 | 等待拷贝数据至新的目录中 |
2 | 查看当前挂载情况,LVM详情 | df -h vgs lvs |
3 | 删除逻辑卷lv_backup | lvremove /dev/vg01/lv_backup 删除backup逻辑卷 vgs 查看VG可用空间 |
4 | 分配释放的空间至u02和u03逻辑卷 | lvextend -L +100G /dev/vg01/u02 扩容u02逻辑卷100G lvextend -l +100%FREE /dev/vg01/lvu03 扩容u03逻辑卷 resize2fs /dev/vg01/u02 resize2fs /dev/vg01/u03 使扩容操作生效 |
4、linux 挂载nas
1 | 确认服务器登录正确(ip及主机名) | hostname ip a | |
2 | 查询并创建挂载目录 | ll / mkdir /oldbackup | |
3 | |||
1 | 查看nfs server端可用挂载 | df -h showmount -e NFSserverIP (showmount命令如未安装,使用‘yum install nfs-utils’命令安装) | |
2 | 卸载原文件系统,新建挂载点 | umount /backup mkdir /oldbackup | |
3 | 修改fstab文件,配置为开机自动挂载NAS | vi /etc/fstab,修改如下内容: /dev/mapper/vg01-lv_backup /oldbackup ext4 defaults 1 2 增加如下内容: NFSserverIP:NFS共享目录 /backup nfs vers=3,_netdev,cio,rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,noac,vers=3,timeo=600 0 0 | 挂载点 /backup:NFS 共享将被挂载到本地的 /backup 目录。 文件系统类型 nfs:表示使用 NFS(网络文件系统)协议挂载。 挂载选项 vers=3:使用 NFSv3 协议(重复出现,需移除一个)。 _netdev:表明这是一个网络设备,系统会在网络就绪后再挂载。 cio:启用并发 I/O(需内核支持,适用于高吞吐量场景)。 rw:挂载为读写模式。 bg:挂载失败时在后台重试(避免系统启动卡住)。 hard:硬挂载(挂载失败时会持续重试,可能导致应用程序挂起)。 nointr:不允许中断硬挂载的 I/O 操作。 rsize=32768 和 wsize=32768:读写缓冲区大小为 32KB(提高大文件传输性能)。 proto=tcp:使用 TCP 协议传输(更可靠,适合大文件)。 noac:禁用客户端缓存(确保数据实时同步,但可能降低性能)。 timeo=600:超时设置为 60 秒(默认单位为 0.1 秒)。 转储和 fsck 选项 0 0:不备份(0),不检查文件系统(0)。 |
4 | 测试是否可以开机自动挂载 | mount -a 测试/etc/fstab中新增nfs文件系统是否自动挂载 df -h 查看系统当前挂载情况 | |
5 | 修改目录权限 | chown -R mysql:mysql /backup chmod 755 /backup |
回退
1 | 卸载nfs文件系统 | umount /backup |
2 | 去掉开机自动挂载 | vi /etc/fstab,修改如下内容: /dev/mapper/vg01-lv_backup /backup ext4 defaults 1 2 注释掉如下内容: #NFSserverIP:NFS共享目录 //backup nfs vers=3,_netdev,cio,rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,noac,vers=3,timeo=600 0 0 |
5、创建swap 空间并挂载
操作阶段 | 1 | 查看当前swap分区状况 | lvs 查看是否LV cat /etc/fstab 查看swap分区挂载 parted /dev/sda print 查看本地磁盘分区情况 | Model: VMware Virtual disk (scsi) Disk /dev/sda: 107GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 538MB 537MB fat32 boot, esp 2 538MB 107GB 106GB ext4 parted:Linux 下的分区管理工具,支持 GPT 和 MBR 分区表,可操作大于 2TB 的磁盘。 /dev/sda:目标磁盘设备(通常为系统的第一块硬盘)。 print:显示磁盘的分区表信息。 | 磁盘基本信息 Model:磁盘型号(如 VMware 虚拟磁盘、物理硬盘型号)。 Disk /dev/sda:磁盘设备路径及总容量。 Sector size:逻辑 / 物理扇区大小(常见 512B 或 4K)。 Partition Table:分区表类型(gpt 或 msdos [MBR])。 分区详细信息 Number:分区编号。 Start/End:分区起始 / 结束位置(物理地址)。 Size:分区大小。 File system:文件系统类型(如 ext4, fat32)。 Flags:特殊标记(如 boot 表示引导分区,esp 表示 EFI 系统分区)。 |
2 | 划分逻辑卷,格式化为swap | lvcreate -L 48G -n lvswap vg_00 使用VG00中的空闲空间创建一块48GLV mkswap /dev/vg_00/lvswap 格式化lvswap卷为swap分区格式 | |||
3 | 挂载swap分区 | swapon /dev/vg_00/lvswap 用swapon命令挂载swap卷 free -g free命令验证当前swap大小 | |||
4 | 写入fstab永久生效 | 编辑/etc/fstab文件,添加内容: /dev/vg_00/lvswap swap swap defaults 0 0 | |||
回退阶段 | 1 | 关闭新加swap分区 | swapoff /dev/vg_00/lvswap | ||
2 | 删除fstab新加内容 | 编辑/etc/fstab文件,注释内容:#/dev/vg_00/lvswap swap swap defaults 0 0 |
6、asm存储扩容
实施 阶段 | 1 | linux系统扫盘 | 等待存储划分后,执行以下操作 echo "- - -" > /sys/class/scsi_host/host*/scan | ||
2 | SAN存储扫描完成后,由VCS继续完成 | 1、vxassist -g [dg] make volume size 2、vxedit -g [dg] set user=[user] group=[group] mode=660 volume | Veritas Volume Manager (VxVM) 中用于创建卷的命令 关键参数说明 vxassist Veritas Volume Manager 的辅助工具,用于管理卷(如创建、扩展、删除)。 -g [dg] -g:指定卷组(Disk Group)名称。 [dg]:卷组的实际名称,例如 datadg、oradg 等。 make volume make:创建卷的操作关键字。 volume:卷的名称,需自定义(如 vol01、data_vol)。 size 卷的大小,需指定单位: m:兆字节(MB) g:吉字节(GB) t:太字节(TB) 例如:10g(10GB)、500m(500MB)。 | 关键参数说明 vxedit Veritas Volume Manager 的编辑工具,用于修改卷、卷组等对象的属性。 -g [dg] -g:指定卷组(Disk Group)名称。 [dg]:卷组的实际名称,例如 datadg、oradg 等。 set user=[user] group=[group] mode=660 user=[user]:设置卷的所有者用户(如 oracle、root)。 group=[group]:设置卷的所属组(如 dba、oinstall)。 mode=660:设置卷的权限模式(八进制表示): 6(二进制 110):所有者有读写权限。 6(二进制 110):所属组有读写权限。 0(二进制 000):其他用户无权限。 volume 目标卷的名称,例如 data_vol、ora_vol 等。 | |
回退阶段 | 1 | VCS删除ASM绑定 | VCS提供方案删除绑定 | ||
2 | 存储删除新加存储 | 存储删除新加存储 | |||
3 | |||||
4 |
7、每天清理logwatch
日志路径 | Logwatch 是 Linux/Unix 系统中常用的日志分析工具,它通过扫描系统日志(如 /var/log/ 下的安全日志、服务日志等),自动生成人类可读的分析报告,帮助管理员快速识别系统异常、安全事件或性能问题。 Logwatch 日志的核心组成与存储位置 报告文件(主要日志) 存储路径:通常位于 /var/log/logwatch/,文件名格式为 YYYYMMDD-HHMMSS.log 或按服务分类(如 syslog.log、auth.log)。 运行日志(工具自身日志) 存储路径:/var/log/logwatch/logwatch.log 内容:记录 Logwatch 的运行状态(如执行时间、扫描的日志文件、是否报错)。 | |
内容 | Logwatch 日志的关键内容解析 Logwatch 报告按功能模块分类,常见模块包括: 模块 核心内容 Kernel Messages 内核错误、硬件异常(如驱动加载失败、内存溢出)。 Failed Logins 失败的登录尝试(含暴力破解尝试、账号锁定记录)。 System Processes 异常进程(如僵尸进程、高 CPU / 内存占用进程)。 Service Logs 服务状态(如 Apache/Nginx 访问日志、MySQL 错误日志)。 Security Events 安全相关事件(SELinux 告警、防火墙规则触发记录)。 为什么需要关注 Logwatch 日志? 故障排查的 “指南针” 当系统出现卡顿、服务崩溃时,Logwatch 会直接标记关键错误(如磁盘空间不足、服务启动失败),减少排查时间。 示例:若 Web 服务无法访问,Logwatch 可能提示 Apache: child process 1234 exited with status 255,直指进程异常。 安全威胁的 “预警器” 持续记录暴力破解尝试(如 sshd: Failed password for root from 192.168.1.1),帮助管理员及时封禁恶意 IP。 性能优化的 “数据来源” 分析日志中的资源占用趋势(如 MySQL 慢查询、CPU 过载记录),为系统调优提供依据。 | |
1 | 定时执行脚本 | 执行脚本,内容: #!/bin/bash /usr/sbin/tmpwatch -umc 48 /var/cache/logwatch ##通过命令清理48小时以上的logwatch命令 sed -i '/\/usr\/sbin\/tmpwatch\ -umc*/d' /etc/cron.daily/tmpwatch ##删除现有cron中包含的删除指令 echo /usr/sbin/tmpwatch -umc 48 /var/cache/logwatch >> /etc/cron.daily/tmpwatch ##新增清理48小时以上日志指令到计划任务中 df -Ph |grep var |
tmpwatch Linux 系统自带的工具,用于删除指定目录中指定时间未被访问 / 修改的文件或目录。 -u 根据 ** 访问时间(atime)** 删除文件。即:若文件在指定时间内未被读取,则删除。 -m 根据 ** 修改时间(mtime)** 删除文件。即:若文件内容在指定时间内未被修改,则删除。 -c 根据 ** 创建时间(ctime)** 删除文件。即:若文件状态(如权限、所有者)在指定时间内未被更改,则删除。 48 指定时间阈值(单位:小时)。示例中表示:删除超过 48 小时未被访问 / 修改 / 状态未变更的文件。 /var/cache/logwatch 目标目录,即 Logwatch 工具的缓存目录,通常存储临时生成的日志报告。 | ||
sed Linux 系统的文本处理工具,用于对文件内容进行替换、删除、插入等操作。 -i 直接修改源文件(in-place edit),无需生成临时文件。 /.../d 正则表达式匹配模式,d 表示删除匹配到的行。 \/:转义后的斜杠 /,匹配路径中的 /。 tmpwatch\ -umc*:匹配 tmpwatch -umc 字符串,其中 c* 表示 c 可以出现 0 次或多次(例如 -um、-umc、-umcc 都会被匹配)。 | ||
etc/cron.daily/ 作用:存放 Linux 系统每日自动执行的脚本文件,属于 cron 定时任务系统 的重要组成部分。 执行机制: 系统通过 cron 服务,每天凌晨会自动运行该目录下的所有可执行脚本(通常在 02:00 左右,具体时间由 /etc/crontab 或 anacron 配置决定)。 文件组成 该目录包含多个系统维护脚本,常见文件如下: 文件名 功能描述 apt 清理 APT 软件包缓存,释放磁盘空间 logrotate 轮转、压缩和清理系统日志文件,防止日志过大 man-db 更新 man 手册数据库,确保命令帮助文档可正常查询 tmpwatch 清理临时文件(如 /tmp、/var/tmp),防止垃圾文件堆积 dpkg 处理 Debian 包管理器的残留文件和日志 sysstat 收集系统性能统计数据(如 CPU、内存使用情况) | ||
与其他 cron 目录的区别 目录路径 执行频率 用途场景 /etc/cron.daily/ 每天执行一次 系统日常维护(日志清理、缓存清理) /etc/cron.hourly/ 每小时执行一次 实时监控(如系统负载统计) /etc/cron.weekly/ 每周执行一次 周度维护(磁盘检查、数据备份) /etc/cron.monthly/ 每月执行一次 月度统计(资源使用报告生成) /etc/cron.d/ 自定义频率 用户自定义定时任务(需写入 crontab 格式) |