CentOS回收站大小限制
导读:CentOS系统回收站大小限制的实现方法 CentOS系统默认未内置图形化回收站功能,但可通过以下工具或方法实现类似效果并限制其大小: 1. 使用trash-cli工具(推荐) trash-cli是命令行工具,可实现回收站的增删查功能,并支...
CentOS系统回收站大小限制的实现方法
CentOS系统默认未内置图形化回收站功能,但可通过以下工具或方法实现类似效果并限制其大小:
1. 使用trash-cli工具(推荐)
trash-cli是命令行工具,可实现回收站的增删查功能,并支持通过配置文件限制大小。
- 安装工具:通过yum包管理器安装:
sudo yum install trash-cli
。 - 配置大小限制:
- 全局配置(影响所有用户):编辑
/etc/trash.conf
文件,找到[Trash]
section,添加或修改以下参数:trash_max_file_size = 10485760 # 单个文件最大大小(单位:字节,10MB) trash_max_size = 10737418240 # 回收站总大小(单位:字节,10GB) trash_keep_days = 7 # 文件保留天数(可选)
- 用户级配置(仅影响当前用户):编辑
~/.config/trash/config
文件,添加相同参数。
- 全局配置(影响所有用户):编辑
- 使用命令:
- 删除文件至回收站:
trash /path/to/file
(替代rm
命令); - 查看回收站内容:
trash-list
; - 清空回收站:
trash-empty
(可指定天数,如trash-empty 30
清空30天前的文件)。
- 删除文件至回收站:
2. 使用lsof+truncate手动管理
若不想安装额外工具,可通过以下脚本定期监控并限制回收站大小:
- 创建回收站目录:
mkdir -p ~/.local/share/Trash/files
(用户级)或/opt/recycle_bin
(系统级)。 - 设置大小限制:使用
truncate
命令初始化目录大小(如10GB):truncate -s 10G ~/.local/share/Trash/files
。 - 编写清理脚本(示例):
#!/bin/bash TRASH_DIR="$HOME/.local/share/Trash/files" MAX_SIZE=10G CURRENT_SIZE=$(du -s "$TRASH_DIR" | awk '{ print $1} ') if [ "$CURRENT_SIZE" -gt "$(numfmt --from=iec $MAX_SIZE)" ]; then OLDEST_FILES=$(ls -t "$TRASH_DIR" | tail -n +2) # 保留最新1个文件 for FILE in $OLDEST_FILES; do rm -rf "$TRASH_DIR/$FILE" done fi
- 定期运行:将脚本保存为
cleanup_trash.sh
,添加可执行权限(chmod +x cleanup_trash.sh
),并通过cron设置每日执行(crontab -e
添加0 0 * * * /path/to/cleanup_trash.sh
)。
3. 使用LVM调整逻辑卷大小
若回收站位于LVM逻辑卷上,可通过调整卷大小间接控制回收站容量:
- 查看逻辑卷信息:
lvdisplay
(确认卷组名称和逻辑卷路径,如/dev/vg_centos/lv_root
)。 - 扩展逻辑卷(需有剩余空间):
lvextend -L +10G /dev/vg_centos/lv_root
(增加10GB)。 - 调整文件系统大小:
resize2fs /dev/vg_centos/lv_root
(适用于ext4文件系统)。
4. 启用文件系统配额
通过quota工具为用户/组设置回收站目录的磁盘使用限额:
- 安装quota:
sudo yum install quota
。 - 修改fstab:编辑
/etc/fstab
,在目标分区(如/home
)选项中添加usrquota,grpquota
:/dev/sda1 /home ext4 defaults,usrquota,grpquota 1 2
- 启用配额:
mount -o remount /home # 重新挂载分区 quotacheck -cum /home # 创建配额数据库 quotaon -v /home # 启用配额
- 设置用户限额:
edquota -u username
,在编辑器中修改disk_quota
(如10GB)。
5. 自定义回收站脚本
通过alias和函数模拟回收站行为,并限制目录大小:
- 创建回收站目录:
mkdir -p ~/.trash
。 - 配置环境变量:编辑
~/.bashrc
,添加以下内容:alias rm='mv -i $@ ~/.trash/' # 删除文件至回收站 alias cleart='rm -rf ~/.trash/*' # 清空回收站 alias tsize='du -sh ~/.trash' # 查看回收站大小
- 限制大小:编写脚本(如
check_trash_size.sh
),定期检查~/.trash
大小,超过阈值则删除旧文件(参考方法2的脚本)。
以上方法可根据需求选择:若需图形化操作,推荐使用trash-cli;若需轻量级管理,可选择自定义脚本或配额;若需长期稳定,建议使用LVM调整逻辑卷大小。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS回收站大小限制
本文地址: https://pptw.com/jishu/718793.html