平时都看拿rm -rf开玩笑编段子 这回真见到了【已破案】
本帖最后由 soloviki 于 2025-6-28 13:58 编辑平时都看拿rm -rf开玩笑编段子 这回真见到了
公司弄的定期删除历史数据的脚本 rm xx路径 -r -f
但是不同批次的文件夹编号是xxxxx-数字流水号
rm 路径xxxxx-15 -r -f
-15后边没加/结果通配xxxxx-150到-159的一起删了
预计损失几十万起 还有客户关系吓人
【楼里后边破案了 云上对象存储删除工具子命令-r定义的锅 要看文档啊】
阿里云 华为云 ossutil obsutil
这些里边的rm的 -r 定义本身就是指“按指定的对象名前缀批量删除对象”
跟正常linux原版rm的-r定义递归 根本不一回事
感觉正常linux用户上去 都得抖三抖
“一个新环境 长得再熟悉的东西 也一定要通读这个环境的文档”
生产环境真删除啊
硬盘有那么贵吗 问题在于shell脚本写shell活该
—— 来自 鹅球 v3.3.96-alpha zouyun147 发表于 2025-6-27 15:59
生产环境真删除啊
硬盘有那么贵吗
本地存储的早都滚动删了
这是设定的过几个月定期删云上存着的 结果
—— 来自 鹅球 v3.5.99-alpha 应用程序产生的数据一般来讲都会归档吧,而且是这么重要的数据 任何一个离谱的规定后面都有一个更离谱的事例,玩笑也同理 只有赔钱了才会珍惜 我一直是能用gui就不用命令行,就是怕这种事 什么草台公司版本管理都没有 这种高危脚本不加字符串传参校验,那就是下回还敢 还好GUI一般有回收站可用 zouyun147 发表于 2025-6-27 16:05
应用程序产生的数据一般来讲都会归档吧,而且是这么重要的数据
那倒也不是 这行产生的数据量巨大 且不管是盘还是云 交付给客户了就完事了 存档成本巨大也没有必要 都是合同约定交付后3个月或者几个月就删的
但这次被牵连到的-150到-159文件夹 刚好两个月多点 so…
—— 来自 鹅球 v3.5.99-alpha 你们没有备份吗? 感想是通配害人
提前用占位符可能就没这问题了,喜欢我0000015吗 真的可以这么删除么,都是移动到删除区,然后二次确认的
论坛助手,iPhone 这种资料不应该定期打包备份,然后再删除吗 不加星哪来的通配
rm 毕竟是非常基础的指令了,gui 乱认目录 xjb 删也不是没有,尤其是卸载程序这种拿了权限的。
重要记录为什么不上权限保护 主楼的脚本怎么可能有这个效果,要么LZ记错了要么在编故事
每周或者每月的离线备份呢?
说好的一热一冷一离线呢? 有把mv记成rm的
草台同事配上草台环境 stanzgy 发表于 2025-6-27 16:35
主楼的脚本怎么可能有这个效果,要么LZ记错了要么在编故事
嗨 你看我这号像是编段子的人么 我是其他部门的不是it 看内部通告邮件的
记错确实记错了 是-17不是-15
https://p.sda1.dev/25/bfd80697949bea25e135594c6b8e2827/image.jpg
—— 来自 鹅球 v3.5.99-alpha 在rm里用变量、通配还没前置判断的一律都判定为弱智 价值几十万这么玩?
建议先mv到待删分支,然后过一阵子去清理待删分支 先查(备份)后删是好习惯,直接删无论有没有通配符,都容易出事。
以前某个生产环境要上新功能,就让运维同事建一个新库进行测试,新库中建了与业务库同名的表。测试完成后正准备删除测试表,他没有遵循先查后删的守则,直接drop那张同名表,众所周知,drop table响应是很快的,除非这张表非常大,没错,drop没有立即返回,这不是测试表,是业务表!我当时就在他旁边,看到他脸色都发白了,因为没先查询,没发现当前库是业务库并非测试库,贸然删表,结果直接把10几亿的业务大表删掉了。 soloviki 发表于 2025-6-27 16:49
嗨 你看我这号像是编段子的人么 我是其他部门的不是it 看内部通告邮件的
记错确实记错了 是-17不是-15
soloviki 发表于 2025-6-27 16:49
嗨 你看我这号像是编段子的人么 我是其他部门的不是it 看内部通告邮件的
记错确实记错了 是-17不是-15
要么就是因为其他更弱智的原因/用了其他命令把这些文件删了,编了这个一眼假的理由推脱责任。。 异地备份呢 质疑命令真实性,你们公司搞IT的真在搞IT吗? 说他没在最后面加上通配符我是不信的
就是编个理由想要糊弄过去吧,楼主就被糊弄到了 大聪明把 rm xxx写成了rm xxx*呗 你们的系统是不是哪个大聪明自己写的脚本重定向为rm命令了。
一般这么玩儿为了备份,生成log和记录信息。不会你们加了正则通配吧。 emm 在群里讨论的 中台部门老大之前做过it 表示确实如此 是入职基础培训
可能不同环境下的不一样?这是删xx云上的
https://p.sda1.dev/25/95d3362559894ac46ec506f488662c31/image.jpg
—— 来自 鹅球 v3.5.99-alpha soloviki 发表于 2025-6-27 17:14
emm 在群里讨论的 中台部门老大之前做过it 表示确实如此 是入职基础培训
可能不同环境下的不一样?这是删xx ...
任何一个linux发行版的rm命令都没有这个效果,除非你们公司自己写了一个叫rm的程序/alias实现这个特性。图里说这个话的人如果是你们公司中台的老大的话,我只能
soloviki 发表于 2025-6-27 17:14
emm 在群里讨论的 中台部门老大之前做过it 表示确实如此 是入职基础培训
可能不同环境下的不一样?这是删xx ...
懂了,脚本是你们中台部门老大之前做it时候写的吧 用 zsh,然后在删除之前 Tab 补全一下,默认可以把通配符展开,可以避免这种问题。
如果是写在 shell 脚本里面的,那只能建议不要写 shell 脚本了