首页主机资讯Ubuntu Recycle如何设置回收站容量限制

Ubuntu Recycle如何设置回收站容量限制

时间2025-12-08 13:28:04发布访客分类主机资讯浏览547
导读:Ubuntu 回收站容量限制设置指南 核心说明 Ubuntu 回收站没有内置的容量上限参数,其可用空间受所在分区剩余空间与用户磁盘配额影响。若需“限制容量”,通常通过磁盘配额(quota)或定时清理脚本来实现;命令行工具 trash-cl...

Ubuntu 回收站容量限制设置指南

核心说明

  • Ubuntu 回收站没有内置的容量上限参数,其可用空间受所在分区剩余空间与用户磁盘配额影响。若需“限制容量”,通常通过磁盘配额(quota)定时清理脚本来实现;命令行工具 trash-cli 便于管理删除/清空,但本身不提供“最大容量”设置项。

方案一 磁盘配额实现硬限制(推荐)

  • 适用场景:需要对某个用户或用户组在回收站所在分区设置明确的“可用上限”(硬限制),超出后无法再写入。
  • 操作步骤(以 ext4 分区为例,/home 常为用户数据分区):
    1. 安装配额工具并启用配额 sudo apt-get install quota sudo mount -o remount,usrquota,grpquota /home
    2. 在 /etc/fstab 为分区添加配额挂载选项 /dev/sda1 /home ext4 defaults,usrquota,grpquota 1 2
    3. 初始化配额数据库 sudo quotacheck -cum /home
    4. 开启配额 sudo quotaon -vug /home
    5. 为用户设置配额(软/硬限制,单位 KB) sudo edquota -u username

      示例:将硬限制设为 1GB(1048576 KB),软限制 900MB(921600 KB)

      Disk quotas for user username (uid 1000): Filesystem blocks soft hard inodes soft hard /dev/sda1 … 921600 1048576 … … …
  • 提示:若回收站在其他分区(如 / 或 /data),请将上述路径替换为实际分区;配额生效后,用户在该分区(含回收站)的写入将受硬限制约束。

方案二 使用 trash-cli 与定时清理脚本(软限制)

  • 适用场景:希望“接近上限时自动清理最旧文件”,而不是严格禁止写入;适合桌面用户与轻量管理。
  • 操作步骤:
    1. 安装 trash-cli sudo apt-get install trash-cli
    2. 创建清理脚本(示例:上限 100MB,按“最旧优先”删除) cat > ~/bin/cleanup-trash.sh < < ‘EOF’ #!/usr/bin/env bash TRASH=“$HOME/.local/share/Trash” MAX_BYTES=$((10010241024)) # 100MB

      计算回收站总大小(files + info 元数据)

      total=0 for d in “$TRASH/files” “$TRASH/info”; do [[ -d $d ]] || continue s=$(du -sb “$d” 2> /dev/null | awk ‘{ print $1} ’) (( total += s )) done if (( total > MAX_BYTES )); then

      按修改时间从旧到新删除文件(先删 files,再删对应 info)

      find “$TRASH/files” -mindepth 1 -maxdepth 1 -printf ‘%T@ %p\0’ | sort -z -n |
      while IFS= read -r -d ‘’ ts file; do rm -rf “$file” info=“${ TRASH} /info/${ file##*/} .trashinfo” [[ -f $info ]] & & rm -f “$info” (( total=$(du -sb “$TRASH/files” “$TRASH/info” 2> /dev/null | awk ‘{ s+=$1} END{ print s} ’) )) (( total < = MAX_BYTES )) & & break done fi EOF chmod +x ~/bin/cleanup-trash.sh
    3. 加入定时任务(每小时检查一次) crontab -e

      添加:

      0 * * * * “$HOME/bin/cleanup-trash.sh”
  • 说明:脚本先删除最旧文件及其 .trashinfo,循环直到回收站总大小不超过上限;如需按“天数”清理,可改为按 atime/mtime 删除(如 -atime +30)。

方案三 XFS 文件系统配额(若使用 XFS)

  • 适用场景:根分区或数据盘为 XFS 时,可用 xfs_quota 设置更细粒度的块/ inode 配额。
  • 示例(为用户设置回收站所在分区的块配额,单位可指定 m/g): sudo apt-get install xfsprogs sudo mount -o remount,usrquota,grpquota /home sudo xfs_quota -x -c ‘limit bsoft=500m bhard=1g username’ /home
  • 说明:XFS 配额语法与 ext4 不同,使用 xfs_quota 子命令设置;超出硬限制将无法继续写入。

实用建议

  • 先确认回收站目录:通常为 ~/.local/share/Trash/files~/.local/share/Trash/info;若使用其他桌面环境或挂载点,路径可能不同。
  • 图形化查看空间:可用 Disk Usage Analyzer(baobab) 或命令行 du -sh ~/.local/share/Trash/files 观察回收站占用变化。
  • 避免误删:首次运行清理脚本前建议先备份重要文件;定时任务请先以“手动执行脚本”验证行为。

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


若转载请注明出处: Ubuntu Recycle如何设置回收站容量限制
本文地址: https://pptw.com/jishu/765878.html
Ubuntu Recycle怎样清理大文件回收站 Ubuntu Recycle怎样防止文件被误删

游客 回复需填写必要信息