这些Linux运维实用技巧,我打满分~

需求

在运维工作中随着我们积累的经验不断增多,不知你是否遇到过以下几个场景:

  • Linux 如何快速删除大量文件?
  • Vsphere 如何在不重启的情况下识别新添加的 iscsi 硬盘?
  • Linux中 rm 命令如何做到防误删?
  • 不同 Linux 服务器之间如何实现快速挂载?
  • Linux 中如何将用户快速添加到附属组?
  • 细心的人往往会通过自己特有的方式来快速处理,不禁让人拍手叫绝。

下面我就来具体介绍下我的处理方式吧。

1、Linux如何快速删除大量文件?

在 Linux 中对于删除大量小文件或删除大文件,我们一般会通过rm命令直接删除,这时你就很有可能会遇到以下问题:

  • rm 删除过程耗时很长,效率低下;

  • rm 删除完毕后,文件不存在但是磁盘空间仍未释放;

其实以上问题都和 rm 命令有关,因为 rm 删除内容时,是将目录的每一个条目逐个删除(unlink),而且需要循环重复遍历很多次;虽然 unlink 解除,但是进程仍可以读取已删除的问题件,导致磁盘不释放。

在此我们可以使用 rsync 命令来代替 rm。rsync 删除内容时,通过建立好新的空目录替换掉老目录,不需要进行大量的遍历操作,因此效率会高很多。

rsync 提供了一些跟删除相关的参数如下:

    rsync --help | grep delete      --del                   an alias for --delete-during      --delete                delete files that don't exist on the sending side      --delete-before         receiver deletes before transfer (default)      --delete-during         receiver deletes during transfer, not before      --delete-after          receiver deletes after transfer, not before      --delete-excluded       also delete excluded files on the receiving side      --ignore-errors         delete even if there are I/O errors      --max-delete=NUM        don't delete more than NUM files

    快速删除目录