这些日常运维实用技巧,忍不住拍案叫绝~

news2024/11/14 15:07:22

需求

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

  • 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

快速删除目录

1. 建立一个空目录    mkdir -p /del_tmp2. 需要清空的目标目录    /del_dest3. 如果目标目录下有大量的小文件,清空目录下文件    rsync --delete-before -a -H -v --progress --stats ./del_tmp/  ./del_dest/
选项说明:–delete-before 接收者在传输之前进行删除操作–progress 在传输时显示传输过程-a 归档模式,表示以递归方式传输文件,并保持所有文件属性-H 保持硬连接的文件-v 详细输出模式--stats 给出某些文件的传输状态

快速删除文件

「注意:」当SRC和DEST文件性质不一致时将会报错;当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件;当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录;

2. Vsphere 如何在不重启的情况下识别新添加的iscsi硬盘?


Vsphere虚拟机新添加硬盘进行LVM扩容,此时需要重启刷新文件系统,否则无法识别新添加的硬盘。重启服务器这对于生产环境来说是不允许的,那么有什么方法能够实现在线刷新文件系统呢?

在此有两种方法:

第一种方法

没有新增硬盘前的SCSI设备参数如图

图片

​​​​​​​
如果新添加的硬盘为“Direct-Access”类型,因此我们需要执行命令,将Id+1后将是新磁盘的Id号:echo  'scsi add-single-device 2 0 1 0' > /proc/scsi/scsi

其中:

  • HOST,主机适配器标识,第一个适配器为0,在此新增加硬盘的适配器为2;

  • Channel,主机适配器上的SCSI通道,第一个通道为00,新增加磁盘的SCSI通道仍为00;

  • ID,设备的SCSI标识 ,即硬盘标识从00开始,新增加磁盘的标识为01;

增加硬盘后的SCSI设备参数如图

图片

第二种方法:​​​​​​​

# 刷新SCSI,需要根据hosts数量确认刷新次数。# 如果系统有3个scsi host,则需要刷新3次echo "- - -" > /sys/class/scsi_host/host0/scanecho "- - -" > /sys/class/scsi_host/host1/scanecho "- - -" > /sys/class/scsi_host/host2/scan

以上两种方式都可以实现在不重启服务器的情况下识别到新添加的硬盘,请根据实际情况进行选择。

3.Linux中rm命令如何做到防误删?


Linux系统中冒号(:)在bash中是一个內建命令,而不单纯是一个分隔符,它的主要作用是空命令、参数扩展、重定向、注释等。我们可以使用其参数扩展特性实现rm的防误删功能。​​​​​​​

格式:${parameter:-test}   功能:如果parameter没有设置或者为空,替换为test;否则替换为parameter的值。命令:rm -rf ${dest:-test}用法:当变量dest为空时,删除test;当变量dest不为空时,删除test用例:rm -rf /$dest。当变量dest没有设置或为空时,则命令变成rm -rf /,这将误删系统根目录,导致系统崩溃。改进:rm -rf /${dest:-test},当变量dest没有设置或为空时,会使用test代替,则命令变成rm -rf /test,删除此目录不会产生任何影响。

4.不同Linux服务器之间如何实现快速挂载?


不同Linux服务器之间的共享,我们一般通过NFS来实现。但是有一次同事在进行迁移ELK时,使用了sshfs命令快速基于ssh协议快速实现了数据的共享。

SSHFS(Secure SHell FileSystem)是一个客户端,可以让我们通过 SSH 文件传输协议(SFTP)挂载远程的文件系统并且在本地机器上和远程的目录和文件进行交互。

具体使用如下:​​​​​​​

# 1.安装 SSHFSyum install sshfs
# 2.创建 SSHFS 挂载目录mkdir /mnt/data
# 3.使用 SSHFS 挂载远程的文件系统sshfs test@x.x.x.x:/home/test/ /mnt/data
如果SSH有密钥授权,我们也可以使用公钥实现挂载sshfs -o IdentityFile=~/.ssh/id_rsa test@x.x.x.x:/home/test/ /mnt/data

正如你所看到的,通过sshfs命令我们快速实现了挂载,相对于NFS非常方便。

5.Linux中如何将用户快速添加到附属组?


对于Linux操作系统,我们一般使用usermod命令来调整用户分组,但是在使用过程中是有痛点的。​​​​​​​

# 1.新增3个用户# useradd test1uid=508(test1) gid=508(test1) groups=508(test1)# useradd test2uid=509(test2) gid=509(test2) groups=509(test2)# useradd test3uid=510(test3) gid=510(test3) groups=510(test3)
# 2.调整test1 附加组# usermod -G test2 test1uid=508(test1) gid=508(test1) groups=508(test1),509(test2)# usermod -G test3 test1uid=508(test1) gid=508(test1) groups=508(test1),510(test3)# usermod -G test2,test3 test1uid=508(test1) gid=508(test1) groups=508(test1),509(test2),510(test3)

通过以上命令,我们可以看到以下痛点:

  • 每次usermod附加组调整,会覆盖原来的分组

  • usermod调整多个分组时,必须将所有分组一并添加,否则会覆盖原来分组

那么是否有命令可以让我们在不必提前知道原来的分组信息的情况下而直接更新分组呢?gpasswd就可以解决我们的痛点问题,它是Linux下工作组文件/etc/group和/etc/gshadow管理工具,用于将一个用户添加到组或者从组中删除。

# 1.将test1添加到test2分组# gpasswd -a test1 test2uid=508(test1) gid=508(test1) groups=508(test1),509(test2)# 2.将test1添加到test3分组# gpasswd -a test1 test3uid=508(test1) gid=508(test1) groups=508(test1),509(test2),510(test3)

我们一般不会遇到用户同时隶属于多个分组的情况,但是在做文件共享,因权限分离需求才会用到,此时我们通过gpasswd命令会方便很多。

总结

在运维过程中我们通过常规操作就可以解决大多数问题,但是在处理过程中可能会存在效率不高、操作麻烦等问题。因此在日常工作中要多探索、多总结,这可能会给我们带来意想不到的效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/988196.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

「四维轻云」v1.4.1版本更新内容

「四维轻云」v1.4.1版本更新主要包含以下内容: 1、倾斜模型三种加载方式 2、矢量数据上传(SHP) 3、单体化(绘制及SHP生成) 一、倾斜模型的三种加载方式 在倾斜模型的编辑窗中,可设置数据的加载方式&am…

简单斜率优化

凸壳取点 现在平面上有 n n n个点: ( x i , y i ) (x_i,y_i) (xi​,yi​) 现有一次函数: y k x b ykxb ykxb。 要求一次函数必须至少经过平面当中的一个点。则一次函数可以写作: y i k ⋅ x i b y_ik\cdot x_ib yi​k⋅xi​b 如果斜率…

php版 短信跳转微信小程序

实现这功能首先&#xff0c;小程序端添加业务域名 php代码 <?php declare (strict_types1);namespace app\controller\Admin;use app\model\Set; use app\Request;class Admin_Url_Scheme {public function getScheme(Request $request) {$appid 小程序appid;$secret 小…

问道管理:股票空头是什么意思?

在炒股的时分&#xff0c;咱们经常听到股票空头。那么股票空头到底是什么意思呢&#xff1f;股票空头是相对于股票多头而言的一个术语。股票多头指的是经买入股票并盈利的股民&#xff0c;而股票空头则指的是经过售卖股票猎取赢利的股民。 在一段时间内&#xff0c;股票的涨跌…

如何利用 Selenium 对已打开的浏览器进行爬虫

大家好&#xff01; 在对某些网站进行爬虫时&#xff0c;如果该网站做了限制&#xff0c;必须完成登录才能展示数据&#xff0c;而且只能通过短信验证码才能登录 这时候&#xff0c;我们可以通过一个已经开启的浏览器完成登录&#xff0c;然后利用程序继续操作这个浏览器&…

使用GPA和夜神模拟器实现K帧

之前使用过GPA配合夜神模拟器实现K帧&#xff0c;来查看实际的渲染情况&#xff0c;后来一段时间没有使用&#xff0c;就忘记了具体步骤&#xff0c;这次边试边实现一下相关的具体步骤。 首先去英特尔官网下载工具&#xff1a;https://www.intel.com/content/www/us/en/develo…

看完这位小哥的GitHub,我沉默了

就在昨天&#xff0c;一个名为win12的开源项目一度冲上了GitHub的Trending热榜。 而且最近项目的Star量也在飙升&#xff0c;目前已经获得了2.2k的Star标星。 出于好奇&#xff0c;点进去看了看。好家伙&#xff0c;项目README里写道这是一个14岁的初中生所打造的开源项目。 即…

Mybatis学习笔记1 Mybatis入门

差不多根据mybatis中文文档:创建第一个mybatismaven项目,将它跑起来 入门_MyBatis中文网 新建库 建表 创建项目 重启之后 配置下Maven与encoding 成习惯了 新建模块 注意:这个GroupId和ArtifactId version是之后,你用Maven install时候后存放的包路径和包名 目录结构:虽然换…

aws-msk-托管kafka集群的简单使用(VPC内部访问:无验证和SASL认证)

1.使用控制台创建即可 根据实例类型创建需要至少15分以上&#xff0c;可以提前创建好ec2实例和Secrets Manager,一会会使用到 2. 创建Secrets Manager &#xff08;使用无认证时请跳过&#xff09; 官方文档&#xff1a;https://docs.aws.amazon.com/zh_cn/msk/latest/deve…

Transformer(一)—— Attention Batch Normalization

Transformer详解 一、RNN循环神经网络二、seq2seq模型三、Attention&#xff08;注意力机制&#xff09;四、Transformer4.1 self attention4.2 self-attention的变形——Multi-head Self-attention4.3 Masked Attention4.4 Positional Encoding4.5 Batch Normalization4.6 Lay…

接口自动化之测试数据动态生成并替换

一、测试数据 1. 随机库random 查看内置random方法&#xff0c;该方法自行学习&#xff0c;不再介绍。 show 2. Faker库 pip install faker showHttps://github.com/joke2k/faker 3. 应用到项目中 3.1 思路 在用例数据中添加标志位&#xff0c;设计这个标志位为 {{特…

“数智+绿色”驱动,宏工科技助力线缆线材稳定高品质生产

9月4日-7日&#xff0c;WIRE CHINA 2023中国国际线缆及线材展览会在上海新国际博览中心举办。宏工科技现场展出线缆线材自动化生产一站式解决方案&#xff0c;与现场观众共商“数字化、智能化、绿色化”发展机遇。 线缆是制造业中最大或产品使用范围最广的基础性配套产业之一&a…

索尼 toio™ 应用创意开发征文|创新音乐创作工具的诞生

引言 音乐创作一直是人类创造力的一项重要表现形式。然而&#xff0c;随着技术的不断进步&#xff0c;我们希望能够开发出更加创新的音乐创作工具&#xff0c;以激发音乐人的灵感和创造力。toio™音乐Q宝的诞生正是为了满足这一需求。 一、开发 1.1 toio™机器人初邂逅 toi…

测试开发 | Java 接口自动化测试首选方案:REST Assured 实践

1 . 初识 REST Assured 在 REST Assured 的官方 GitHub 上有这样一句简短的描述&#xff1a; Java DSL for easy testing of REST services 简约的 REST 服务测试 Java DSL 1.1 优点&#xff1a; REST Assured 官方的 README 第一句话对进行了一个优点的概述&#xff0c;总的…

如何把Word转换成PDF文档?分享操作简单的方法

在人们办公过程中&#xff0c;word、excel以及pdf这三种格式的文件经常会被使用到。这三类文件因为格式不同&#xff0c;使用时理论上应该是各管各的&#xff0c;但是实际使用时却时不时会遇到要对它们三者进行格式转换的情况。那么&#xff0c;如何把Word转换成PDF文档呢?接下…

通过IP地址进行精准定位技术、方法与隐私问题的探讨

导语&#xff1a;随着互联网和移动设备的普及&#xff0c;通过IP地址进行精准定位已成为现实。这一技术的发展带来了许多便利&#xff0c;但也引发了隐私问题的关注。本文将探讨通过IP地址进行精准定位的技术、方法以及涉及的隐私问题。 技术和方法&#xff1a; IP地址的基…

荧光量子产率测试用的是什么积分球

LED(Light-EmittingDiode)作为一种新型的固态光源&#xff0c;以其绿色环保、寿命超长、高效节能等特点成为继白炽灯、荧光灯和高压气体放电灯之后的第四代照明光源。 蓝光LED芯片和钇铝石榴石&#xff08;YAG&#xff09;荧光粉封装在一起得到白光LED的方法具有结构简单、制作…

线程池|单例模式|STL、智能指针线程安全|读者写者问题

线程池 线程池的逻辑思想&#xff1a; 每当我们处理一个任务就要创建一个线程&#xff0c;创建线程的开销是很大的。因此我们可以预先创建一批线程&#xff0c;任务队列里没有任务的时候&#xff0c;每个线程都休眠&#xff0c;当队里中有任务的时候&#xff0c;就可以唤醒线程…

牵手时代少年团,来伊份讲了一个“新鲜”故事

从数天前来伊份官方发布一组悬念九宫图海报开始&#xff0c;其新代言人的身份就呼之欲出。 9月7日上午9点&#xff0c;来伊份正式宣布时代少年团为全新品牌代言人。这一官宣在微博引爆并引发了轰动效应&#xff0c;同时代言人同款IP礼盒“伊份心选”正式发售。 图源&#xff1…

马拉松成绩训练利器“亚索800”

在马拉松火热的今天&#xff0c;跑圈中流行着各种各样的马拉松训练方法 其实在众多的流派体系中基本可归纳为两类&#xff1a; 1、强调基础有氧训练&#xff0c;以中低强度长时间跑步训练为主&#xff0c;LSD、MAF180、细胞分裂法都归属于这类训练&#xff1b; 2、强调高强度间…