温馨提示×

Ubuntu Recycle如何设置存储限制

小樊
55
2025-09-22 14:35:50
栏目: 云计算

Ubuntu Recycle(回收站)存储限制设置方法

Ubuntu的Recycle(回收站)功能默认无图形化容量设置选项,但可通过图形工具配置文件修改自动化脚本实现存储限制。以下是具体方法:

一、通过图形化工具(dconf-editor)设置

适用场景:偏好图形界面的用户,快速配置回收站大小。
步骤

  1. 安装dconf-editor(若未安装):
    打开终端,运行以下命令安装:
    sudo apt update && sudo apt install dconf-editor
    
  2. 打开dconf-editor
    在终端输入dconf-editor并回车,或在应用菜单中搜索“dconf Editor”启动。
  3. 导航至回收站设置路径
    依次展开orggnomedesktopnautilustrash
  4. 修改max-size参数
    找到max-size选项(单位:字节),双击编辑。例如,设置1GB上限需输入1073741824(1GB=1024×1024×1024字节)。
  5. 应用更改
    关闭dconf-editor,修改将自动生效。

二、通过修改配置文件设置

适用场景:无需安装额外工具,直接编辑系统配置文件。
步骤

  1. 打开配置文件
    使用文本编辑器(如nano)打开用户级Nautilus配置文件:
    nano ~/.config/nautilus/desktop-metadata
    
  2. 添加/修改max-size参数
    在文件中添加或修改以下行(以1GB为例):
    [Trash]
    max-size=1073741824
    
  3. 保存并退出
    Ctrl+O保存文件,Ctrl+X退出编辑器。
  4. 重启Nautilus
    运行以下命令使更改生效:
    nautilus -q
    
    (注:若Nautilus未自动重启,可注销并重新登录。)

三、通过自动化脚本+定时任务设置

适用场景:需要动态监控回收站大小,自动清理旧文件(推荐)。

1. 使用trash-cli工具(更规范)

步骤

  • 安装trash-cli
    sudo apt update && sudo apt install trash-cli
    
  • 创建清理脚本(如clean_recycle.sh):
    #!/bin/bash
    RECYCLE_DIR="$HOME/.local/share/Trash/files"
    MAX_SIZE=$((100 * 1024 * 1024)) # 100MB(单位:字节)
    
    # 获取当前回收站大小
    CURRENT_SIZE=$(du -sb "$RECYCLE_DIR" | awk '{print $1}')
    
    # 若超过限制,删除最旧的文件
    if [ "$CURRENT_SIZE" -gt "$MAX_SIZE" ]; then
      echo "回收站大小超过限制(${CURRENT_SIZE}B > ${MAX_SIZE}B),开始清理..."
      find "$RECYCLE_DIR" -type f -printf '%T@ %p\n' | sort -n | cut -d' ' -f2- | head -n 10 | xargs rm -f
      # 可选:同时清理对应的info文件(避免残留)
      find "$HOME/.local/share/Trash/info" -type f -printf '%T@ %p\n' | sort -n | cut -d' ' -f2- | head -n 10 | xargs rm -f
    fi
    
  • 赋予脚本执行权限
    chmod +x clean_recycle.sh
    
  • 添加定时任务(如每天凌晨1点运行):
    运行crontab -e,添加以下行:
    0 1 * * * /path/to/clean_recycle.sh
    

2. 不使用额外工具(纯系统命令)

步骤

  • 创建监控脚本(如monitor_trash.sh):
    #!/bin/bash
    RECYCLE_DIR="$HOME/.local/share/Trash/files"
    MAX_SIZE=$((100 * 1024 * 1024)) # 100MB
    
    CURRENT_SIZE=$(du -sb "$RECYCLE_DIR" | awk '{print $1}')
    if [ "$CURRENT_SIZE" -gt "$MAX_SIZE" ]; then
      echo "回收站大小超过限制,清理中..."
      rm -rf "$RECYCLE_DIR"/*
    fi
    
  • 赋予执行权限并运行
    chmod +x monitor_trash.sh
    ./monitor_trash.sh
    
    (注:若需长期运行,可将脚本放入后台或添加到开机启动。)

四、通过磁盘配额限制(系统级)

适用场景:需要限制特定用户或组的回收站总使用量(高级用法)。
步骤

  1. 安装quota工具
    sudo apt update && sudo apt install quota
    
  2. 启用文件系统配额
    编辑/etc/fstab,在目标分区(如/home)挂载选项中添加usrquota
    /dev/sda1 /home ext4 defaults,usrquota 1 2
    
  3. 重新挂载分区
    sudo mount -o remount /home
    
  4. 初始化配额数据库
    sudo quotacheck -cum /home
    
  5. 启动配额服务
    sudo quotaon -vug /home
    
  6. 设置用户配额
    sudo edquota -u username
    
    在编辑器中设置soft(软限制,如500MB)和hard(硬限制,如600MB)值,保存后生效。

注意事项

  • 优先选择图形化或脚本方法:磁盘配额会影响整个分区,适合多用户环境;个人用户推荐用dconf-editor或脚本。
  • 脚本频率调整:根据回收站使用频率调整cron任务时间(如每小时或每天)。
  • 备份重要数据:清理前确认回收站中无需要恢复的文件。
  • 扩展磁盘空间:若回收站频繁满,建议通过GParted扩展分区或添加新硬盘。

0