这里的数据保护,指的是尽可能避免自己误删数据导致无法恢复的情况。

前言

rm命令

  • Ubuntu Server终端不像Windows、Mac那样有文件回收站的概念,rm命令是个极度危险的命令。

rm命令是个极度危险的命令

rm命令是个极度危险的命令

rm命令是个极度危险的命令

  • 而且Ubuntu的rm命令默认是没有二次确认的,不过可以通过这个方法(点我)解决。西柚云的共享服务器全部做了这样的调整,所以现在都是有提示的。如果发现rm命令没有二次确认,请联系管理员。
1
2
3
4
# 原理是给rm命令起别名
echo "alias rm='rm -i'" >> ~/.bashrc

source ~/.bashrc

img

  • 这个提示适用于不带-f参数的,如果你加了-f参数,耶稣都拦不住你。

删除的数据还能恢复吗

  • 被rm删除的数据,是否能恢复是个概率性的问题,主要是看文件删除后的区块是否被覆盖了。

如果是共享服务器,那这个概率就很小很小,因为当你删除数据的时候,即使你按照网上的说法,不操作系统了,停止写入数据了。但是,这个服务器上还有其他用户,他们不知道这个情况,所以有可能写入数据把区块覆盖了。

所以,请抱着数据无法恢复的态度,对待自己的数据。

如何提高数据安全性

不使用rm命令

我们可以使用trash命令代替rm命令,也就是使用命令行下的回收站功能。

trash-cli是一个开源的python工具,GitHub地址:https://github.com/andreafrancia/trash-cli。

  • 安装

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    # 共享服务器联系管理员安装
    sudo apt-get install trash-cli

    # 安装完毕后,有如下命令可以使用

    # 移动文件到回收站
    trash

    # 清空回收站
    trash-empty

    # 列出回收站有哪些文件
    trash-list

    # 移动文件到回收站,同trash
    trash-put

    # 恢复文件
    trash-restore

    # 删除回收站里的文件
    trash-rm
  • 准备数据文件

img

  • 删除文件、目录(移动到回收站),可以看到,删除目录也不需要-r参数

img

  • 回收站里面的文件保存在哪里呢,位置在~/.local/share/Trash/。实际上是移动了文件,所以硬盘空间还是被占用着的。

img

  • 查看回收站的文件

img

  • 恢复文件

img

  • 删除回收站的某一个文件

img

  • 清空回收站(谨慎操作!!!)

img

  • 如果你想再保险一点,可以把trash作为rm命令的别名
1
2
3
echo "alias rm=trash" >> ~/.bashrc

source ~/.bashrc

img

使用Git保存你的代码

将代码推送到一个远程的私有仓库中,以此进行备份以及版本管理。

为什么是保护你的“代码”?因为在服务器的数据中,代码是你劳动的成果,占的空间最小,但是价值最大。数据集没了,你可以重新下载;计算结果没了,你可以重新算。

最重要的一点是,这些免费的仓库都有大小限制,不能保存太大的文件。