Linux——Shell编程里if的参数从-a到-z

linux断电后发现代码变成空的了

想想去年我在公司破烂的Linux服务器上写的代码,突然停电了。
回来后发现代码文件全是空的,心里慌了。
告诉我,没有人应该担心这件事。

当时我就在想,这是怎么回事?后来研究了一下,发现主要是Linux的写入滞后机制造成的。
要知道,为了提高效率,Linux系统在文件发生改变后并不急于将其写入磁盘,而是先将其放入内存缓冲区中。
这样一来,当电源中断时,缓冲区中的数据就消失了,文件自然就变空了。

此外,文件系统也可能存在问题。
我认为当时文件系统很忙,但是当停电时,系统崩溃了,导致文件损坏。

如果程序意外挂起,也可能导致文件内容出现错误。
虽然这种情况与代码文件没有直接关系,但也不能排除。

为了防止再次出现这种情况,我后来在代码中添加了信号处理机制,就是接收到中断信号时可以自动保存数据的那种。
我还会定期进行代码备份,使用Git管理版本,并将重要文件备份到云盘,以防万一有一天硬盘再次崩溃。

顺便说一句,我应该提一下,您还应该选择一个好的存储设备。
每三天就出现问题的不要使用。
选择一个可靠的。
哎,说起这些陷阱,真是记不住了。