AWS EC2实例中Python无法创建临时目录及目录自动消失问题
EC2临时目录问题原因解析
问题1:tempfile.mkdtemp指定目录时触发FileNotFoundError的原因
tempfile.mkdtemp仅负责在已存在的父目录下创建随机命名的子目录,不会自动生成上层的父目录结构。当你指定/home/ec2-user/tmp/作为父目录时,若该目录本身不存在,就会抛出FileNotFoundError。必须先确保父目录存在,才能让mkdtemp在其中生成随机子目录。
问题2:退出登录后/home/ec2-user/tmp/目录消失的原因
- 最常见的原因是你的EC2实例使用了**实例存储(Ephemeral Storage)**作为根卷:实例存储属于临时存储,实例停止、重启或终止后,存储上的所有数据都会被彻底清除,包括你手动创建的
/home/ec2-user/tmp/目录。 - 另一种可能是实例配置了启动脚本(比如用户数据脚本、登录触发的清理任务),每次实例启动或用户登录时,会自动清理
/home/ec2-user/tmp/这类临时目录。
内容的提问来源于stack exchange,提问作者JamesG
相关产品推荐
相关产品推荐

