首页主机资讯CentOS回收站怎么设置容量

CentOS回收站怎么设置容量

时间2025-11-24 14:36:03发布访客分类主机资讯浏览336
导读:CentOS 回收站容量设置指南 前置说明 CentOS 服务器版默认没有图形化回收站;命令行下的 rm 会直接删除文件。常见做法是使用 trash-cli 提供“回收站”语义,或用 磁盘配额 从底层限制用户可用空间,亦可通过 自定义脚本...

CentOS 回收站容量设置指南

前置说明

  • CentOS 服务器版默认没有图形化回收站;命令行下的 rm 会直接删除文件。常见做法是使用 trash-cli 提供“回收站”语义,或用 磁盘配额 从底层限制用户可用空间,亦可通过 自定义脚本 + cron 定期清理回收站目录。桌面环境(如 GNOME)可用 gvfs-trash,但其容量通常由桌面配置管理,服务器场景较少使用。

方案一 使用 trash-cli 并配合配额或定时清理(推荐)

  • 安装与基本用法
    • 安装:sudo yum install -y trash-cli
    • 常用命令:trash 文件路径(移入回收站)、trash-list(查看)、trash-empty(清空)
  • 容量控制思路
    • trash-cli 本身不提供“最大容量”配置项,通常通过“用户配额”或“定时清理脚本”来限制回收站目录大小。
  • 方式 A:用磁盘配额限制回收站可用空间
    • 适用场景:需要对某个用户(含其回收站)设定硬性上限。
    • 简要步骤(以 /home 分区为例):
      1. 编辑 /etc/fstab,为分区添加配额选项:/dev/sdaX /home ext4 defaults,usrquota,grpquota 1 2
      2. 重新挂载:mount -o remount /home
      3. 初始化配额数据库:quotacheck -cum /home
      4. 启用配额:quotaon -vug /home
      5. 为用户设置配额:edquota -u username(设置 blocks 的软/硬限制)
  • 方式 B:用脚本 + cron 按容量自动清理最旧文件
    • 思路:当回收站目录超过阈值时,按修改时间删除最旧文件,直到低于阈值。
    • 示例脚本(保存为 /usr/local/bin/cleanup-trash.sh):
      #!/usr/bin/env bash
      TRASH="$HOME/.local/share/Trash/files"
      MAX_BYTES=$((100 * 1024 * 1024))  # 100MB,可按需调整
      
      [[ ! -d "$TRASH" ]] &
          &
           exit 0
      cur=$(du -sb "$TRASH" 2>
      /dev/null | awk '{
      print $1}
          ')
      (( cur <
          = MAX_BYTES )) &
          &
           exit 0
      
      # 按 mtime 升序删除最旧文件,直到低于阈值
      find "$TRASH" -mindepth 1 -printf '%T@ %p\n' | sort -n | cut -d' ' -f2- | while IFS= read -r f;
           do
          rm -rf "$f"
          cur=$(du -sb "$TRASH" 2>
      /dev/null | awk '{
      print $1}
          ')
          (( cur <
          = MAX_BYTES )) &
          &
       break
      done
      
    • 赋权并加入定时任务(例如每天清理一次):
      • chmod +x /usr/local/bin/cleanup-trash.sh
      • crontab -e 添加:0 0 * * * /usr/local/bin/cleanup-trash.sh
  • 说明
    • 若系统为 CentOS 8/Stream,可用 dnf 安装:sudo dnf install -y trash-cli。

方案二 自定义回收站目录 + 别名 + 定时清理(轻量可控)

  • 适合无桌面、希望简单可控的场景。
  • 配置步骤
    1. 创建回收站目录:mkdir -p ~/.trash
    2. 在 ~/.bashrc 定义别名与函数(示例):
      alias rm='trash'                 # 将 rm 替换为 trash-cli(若已安装)
      alias rl='ls ~/.trash'            # 查看回收站
      alias ur='undelfile'             # 恢复文件
      undelfile() {
           mv -i ~/.trash/"$@" ./ ;
       }
      
      cleartrash() {
          
        read -p "确定清空回收站吗?(y/N) " c
        [[ "$c" =~ ^[Yy]$ ]] &
          &
       /bin/rm -rf ~/.trash/*
      }
          
      
    3. 使配置生效:source ~/.bashrc
    4. 按需加入“按容量清理”的 cron(同上脚本,TRASH 改为 ~/.trash)。
  • 提示
    • 若坚持用原始 rm,可把别名改为自定义函数,将删除动作改为“mv 到 ~/.trash 并加时间戳”,避免误删且便于追溯。

方案三 桌面环境 GNOME 的回收站

  • 若使用 GNOME,可用 gvfs-trash 将文件移至桌面回收站(如 gvfs-trash /path/to/file)。
  • 容量与保留策略通常由 GNOME 配置 管理,服务器环境一般不涉及;如需容量上限,仍建议采用“配额”或“脚本清理”的方案。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS回收站怎么设置容量
本文地址: https://pptw.com/jishu/754467.html
CentOS回收站如何恢复 CentOS Golang日志与系统性能关系探讨

游客 回复需填写必要信息