soloviki 发表于 2025-6-27 15:58

平时都看拿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用户上去 都得抖三抖
“一个新环境 长得再熟悉的东西 也一定要通读这个环境的文档”

zouyun147 发表于 2025-6-27 15:59

生产环境真删除啊
硬盘有那么贵吗

赤色彗星SEXY 发表于 2025-6-27 16:01

问题在于shell脚本写shell活该

—— 来自 鹅球 v3.3.96-alpha

soloviki 发表于 2025-6-27 16:02

zouyun147 发表于 2025-6-27 15:59
生产环境真删除啊
硬盘有那么贵吗

本地存储的早都滚动删了
这是设定的过几个月定期删云上存着的 结果

—— 来自 鹅球 v3.5.99-alpha

zouyun147 发表于 2025-6-27 16:05

应用程序产生的数据一般来讲都会归档吧,而且是这么重要的数据

五块 发表于 2025-6-27 16:06

任何一个离谱的规定后面都有一个更离谱的事例,玩笑也同理

flywuwei 发表于 2025-6-27 16:07

只有赔钱了才会珍惜

mirari 发表于 2025-6-27 16:09

我一直是能用gui就不用命令行,就是怕这种事

elfronie@163.co 发表于 2025-6-27 16:09

什么草台公司版本管理都没有

流缨 发表于 2025-6-27 16:11

这种高危脚本不加字符串传参校验,那就是下回还敢

onEgoOdmAn 发表于 2025-6-27 16:13

Nanachi 发表于 2025-6-27 16:15

还好GUI一般有回收站可用

soloviki 发表于 2025-6-27 16:16

zouyun147 发表于 2025-6-27 16:05
应用程序产生的数据一般来讲都会归档吧,而且是这么重要的数据

那倒也不是 这行产生的数据量巨大 且不管是盘还是云 交付给客户了就完事了 存档成本巨大也没有必要 都是合同约定交付后3个月或者几个月就删的

但这次被牵连到的-150到-159文件夹 刚好两个月多点 so…

—— 来自 鹅球 v3.5.99-alpha

cleverfox 发表于 2025-6-27 16:18

你们没有备份吗?

trentswd 发表于 2025-6-27 16:20

感想是通配害人
提前用占位符可能就没这问题了,喜欢我0000015吗

i0ncube_R 发表于 2025-6-27 16:31

真的可以这么删除么,都是移动到删除区,然后二次确认的

论坛助手,iPhone

Linked 发表于 2025-6-27 16:31

这种资料不应该定期打包备份,然后再删除吗

whzfjd 发表于 2025-6-27 16:34

不加星哪来的通配

rm 毕竟是非常基础的指令了,gui 乱认目录 xjb 删也不是没有,尤其是卸载程序这种拿了权限的。

重要记录为什么不上权限保护

stanzgy 发表于 2025-6-27 16:35

主楼的脚本怎么可能有这个效果,要么LZ记错了要么在编故事

董卓 发表于 2025-6-27 16:37

每周或者每月的离线备份呢?

说好的一热一冷一离线呢?

大马哈士奇 发表于 2025-6-27 16:45

有把mv记成rm的
草台同事配上草台环境

天地一机成化育 发表于 2025-6-27 16:48

soloviki 发表于 2025-6-27 16:49

stanzgy 发表于 2025-6-27 16:35
主楼的脚本怎么可能有这个效果,要么LZ记错了要么在编故事

嗨 你看我这号像是编段子的人么 我是其他部门的不是it 看内部通告邮件的
记错确实记错了 是-17不是-15
https://p.sda1.dev/25/bfd80697949bea25e135594c6b8e2827/image.jpg


—— 来自 鹅球 v3.5.99-alpha

南小鸭 发表于 2025-6-27 16:51

在rm里用变量、通配还没前置判断的一律都判定为弱智

yeo 发表于 2025-6-27 16:54

价值几十万这么玩?

建议先mv到待删分支,然后过一阵子去清理待删分支

hentai烧酒 发表于 2025-6-27 16:55

先查(备份)后删是好习惯,直接删无论有没有通配符,都容易出事。
以前某个生产环境要上新功能,就让运维同事建一个新库进行测试,新库中建了与业务库同名的表。测试完成后正准备删除测试表,他没有遵循先查后删的守则,直接drop那张同名表,众所周知,drop table响应是很快的,除非这张表非常大,没错,drop没有立即返回,这不是测试表,是业务表!我当时就在他旁边,看到他脸色都发白了,因为没先查询,没发现当前库是业务库并非测试库,贸然删表,结果直接把10几亿的业务大表删掉了。

stanzgy 发表于 2025-6-27 16:58

soloviki 发表于 2025-6-27 16:49
嗨 你看我这号像是编段子的人么 我是其他部门的不是it 看内部通告邮件的
记错确实记错了 是-17不是-15



stanzgy 发表于 2025-6-27 17:01

soloviki 发表于 2025-6-27 16:49
嗨 你看我这号像是编段子的人么 我是其他部门的不是it 看内部通告邮件的
记错确实记错了 是-17不是-15


要么就是因为其他更弱智的原因/用了其他命令把这些文件删了,编了这个一眼假的理由推脱责任。。

天地一机成化育 发表于 2025-6-27 17:02

死宅真恶心 发表于 2025-6-27 17:03

异地备份呢

citrus 发表于 2025-6-27 17:06

ytrfegd 发表于 2025-6-27 17:10

质疑命令真实性,你们公司搞IT的真在搞IT吗?

=w= 发表于 2025-6-27 17:11

说他没在最后面加上通配符我是不信的
就是编个理由想要糊弄过去吧,楼主就被糊弄到了

yeo 发表于 2025-6-27 17:13

大聪明把 rm xxx写成了rm xxx*呗

bhunter 发表于 2025-6-27 17:14

你们的系统是不是哪个大聪明自己写的脚本重定向为rm命令了。
一般这么玩儿为了备份,生成log和记录信息。不会你们加了正则通配吧。

soloviki 发表于 2025-6-27 17:14

emm 在群里讨论的 中台部门老大之前做过it 表示确实如此 是入职基础培训
可能不同环境下的不一样?这是删xx云上的
https://p.sda1.dev/25/95d3362559894ac46ec506f488662c31/image.jpg

—— 来自 鹅球 v3.5.99-alpha

天地一机成化育 发表于 2025-6-27 17:19

stanzgy 发表于 2025-6-27 17:23

soloviki 发表于 2025-6-27 17:14
emm 在群里讨论的 中台部门老大之前做过it 表示确实如此 是入职基础培训
可能不同环境下的不一样?这是删xx ...

任何一个linux发行版的rm命令都没有这个效果,除非你们公司自己写了一个叫rm的程序/alias实现这个特性。图里说这个话的人如果是你们公司中台的老大的话,我只能

0WHan0 发表于 2025-6-27 17:28

soloviki 发表于 2025-6-27 17:14
emm 在群里讨论的 中台部门老大之前做过it 表示确实如此 是入职基础培训
可能不同环境下的不一样?这是删xx ...

懂了,脚本是你们中台部门老大之前做it时候写的吧

小野賢章 发表于 2025-6-27 17:29

用 zsh,然后在删除之前 Tab 补全一下,默认可以把通配符展开,可以避免这种问题。

如果是写在 shell 脚本里面的,那只能建议不要写 shell 脚本了
页: [1] 2 3
查看完整版本: 平时都看拿rm -rf开玩笑编段子 这回真见到了【已破案】