关于回收站的疑问

None.gif//删除文件到回收站
None.gif
API: SHFileOperation
None.gif//清空回收站
None.gif
API: SHEmptyRecycleBin
None.gif//检索回收站信息
None.gif
API: SHQueryRecycleBinA
None.gif//恢复回收站文件
None.gif
在recycled目录下,有个Info2的文件,文件被回收后都被修改了名称,并保存信息到这个文件内,但操作系统不同,结构也不同;所要做的就是根据info2 文件的内容遍历并move 文件到原始位置
None.gif看看v 4的结构
None.gif偏移 长度 含义
None.gif0~259 ,260 ,原文件或目录名称,如果0字节是0,表示无效
None.gif260~263, 4 ,文件编号
None.gif264~267, 4 ,驱动盘编号0表示A,1=b,2=c dot.gif..
None.gif268~275, 8 ,删除时间
None.gif276~279, 4 ,文件或目录占用空间(字节,保留到“簇”)
None.gifv5的结构
None.gif偏移 长度 含义
None.gif0~259 ,260 ,原文件或目录的短名称8.3命名,如果0字节是0,表示无效
None.gif260~263, 4 ,文件编号
None.gif264~267, 4 ,驱动盘编号0表示A,1=b,2=c dot.gif..
None.gif268~275, 8 ,删除时间
None.gif276~279, 4 ,文件或目录占用空间(字节,保留到“簇”)
None.gif280~799,520,原文件完整名称,Unicode
None.gif
None.gif
None.gif另外,这些信息都是我原来用delphi 搞的,C#无代码可供参考,抱歉。
None.gif



本文转自suifei博客园博客,原文链接:http://www.cnblogs.com/Chinasf/archive/2005/04/17/139200.html,如需转载请自行联系原作者
<think>嗯,用户想修改HDFS回收站清理时间间隔,这涉及到HDFS的核心配置管理。从引用内容看,用户已经查阅过相关资料,对回收站机制有一定了解,但可能对具体配置操作有疑问。 用户提供的引用信息非常全面:-引用[1]说明回收站文件不会立即删除,并提到跳过回收站的删除命令-引用[2]详细解释了回收站机制原理-引用[3]给出具体配置项fs.trash.interval和fs.trash.checkpoint.interval-引用[4]展示CM界面配置示例用户真正需要的是操作指导,重点应该放在:1.明确两个关键参数的含义:-fs.trash.interval决定文件回收站保留时长(分钟)- fs.trash.checkpoint.interval控制检查点创建频率2.提供两种配置方式:-通过ClouderaManager可视化配置(适合企业环境)-直接修改core-site.xml(适合非CM集群) 3.强调配置生效的注意事项:-需要重启NameNode-新配置仅影响之后删除的文件4.补充验证方法:-通过hdfs命令查看配置-测试删除文件观察保留时间特别要注意提醒用户:-将fs.trash.interval设为0会彻底禁用回收站(危险操作) -生产环境建议保留合理时长(如1440分钟/24小时) -修改前备份配置文件用户可能还关心:-如何立即清理回收站(expunge命令)-不同用户回收站隔离机制这些可以作为相关问题补充</think>要修改HDFS回收站的清理时间间隔,需通过以下步骤配置核心参数(操作需管理员权限): ### 一、关键配置参数说明 1. **`fs.trash.interval`** - **作用**:文件回收站中的保留时长(单位:分钟) - **示例值**: - `1440` = 保留24小时(默认值) - `4320` = 保留3天 - **`0` = 禁用回收站功能**(直接永久删除)[^3][^4] 2. **`fs.trash.checkpoint.interval`** - **作用**:回收站检查点的创建频率(单位:分钟) - **规则**: - 必须 ≤ `fs.trash.interval` - 设为 `0` 时,自动继承 `fs.trash.interval` 的值[^3][^4] --- ### 二、配置步骤(两种方式) #### ▶ 方式1:通过 Cloudera Manager(CM)配置 1. 登录CM控制台 → 进入 **HDFS 服务** 2. 导航到 **Configuration** → 搜索栏输入 `fs.trash` 3. 修改以下参数: ```xml <!-- 设置文件保留时长(示例:保留7天=10080分钟) --> <property> <name>fs.trash.interval</name> <value>10080</value> </property> <!-- 检查点间隔(建议保持默认0) --> <property> <name>fs.trash.checkpoint.interval</name> <value>0</value> </property> ``` 4. **保存配置** → 按提示重启HDFS服务生效[^4]。 #### ▶ 方式2:手动修改 `core-site.xml` 1. 在所有 **NameNode** 和 **DataNode** 节点上编辑文件: ```bash vi $HADOOP_HOME/etc/hadoop/core-site.xml ``` 2. 在 `<configuration>` 标签内添加参数: ```xml <property> <name>fs.trash.interval</name> <value>10080</value> <!-- 自定义保留时长 --> <description>文件回收站的存活时间(分钟)</description> </property> <property> <name>fs.trash.checkpoint.interval</name> <value>0</value> <!-- 自动同步主间隔 --> </property> ``` 3. **同步配置** 到所有节点 → **重启HDFS服务**: ```bash hdfs --daemon restart namenode # 重启NameNode hdfs --daemon restart datanode # 重启DataNode ``` --- ### 三、验证配置生效 ```bash # 查看当前回收站配置 hdfs getconf -confKey fs.trash.interval hdfs getconf -confKey fs.trash.checkpoint.interval # 测试删除文件(观察是否进入回收站) hdfs dfs -rm /testfile.txt hdfs dfs -ls /user/${USER}/.Trash/Current # 检查回收站 ``` --- ### ⚠️ 重要注意事项 1. **新配置仅影响后续删除的文件**,已在回收站文件按原规则清理。 2. **立即清理回收站**: ```bash hdfs dfs -expunge # 触发检查点删除过期文件[^1][^2] ``` 3. **跳过回收站永久删除**(慎用): ```bash hdfs dfs -rm -skipTrash /path/to/file [^1] ``` --- ### 相关问题 1. 如何监控HDFS回收站的空间占用情况? 2. 回收站机制可能导致哪些运维问题(如空间不足)?[^3] 3. 如何为不同用户设置差异化的回收站保留策略? 4. 误删HDFS文件后,除了回收站还有哪些恢复手段? [^1]: HDFS文件删除与回收站清理命令 [^2]: HDFS回收站机制原理与检查点操作 [^3]: 回收站配置参数详解及问题排查 [^4]: CM界面配置回收站参数示例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值