nohup命令输出日志_逼格高又实用的Linux高级命令,开发运维都要懂

在运维的坑里摸爬滚打好几年了,我还记得我刚开始的时候,我只会使用一些简单的命令,写脚本的时候,也是要多简单有多简单,所以有时候写出来的脚本又长又臭,像一些高级点的命令,比如说Xargs 命令、管道命令、自动应答命令等,如果当初我要是知道,那我也可能写出简洁高效的脚本。不管出于任何原因,我都想对一些Linux使用的高级命令进行用法说明,利人利己,以后不记得的话,我也可以回头翻来看看。

b3fe0adfc0089b5b451a7020f42e4360.png

1、实用的xargs命令

在平时的使用中,我认为xargs这个命令还是较为重要和方便的。我们可以通过使用这个命令,将命令输出的结果作为参数传递给另一个命令。比如说我们想找出某个路径下以.conf结尾的文件,并将这些文件进行分类,那么普通的做法就是先将以.conf结尾的文件先找出来,然后输出到一个文件中,接着cat这个文件,并使用file文件分类命令去对输出的文件进行分类。这个普通的方法还的确是略显麻烦,那么这个时候xargs命令就派上用场了。

例1:找出 / 目录下以.conf 结尾的文件,并进行文件分类

命令:# find / -name *.conf -type f -print | xargs file

输出结果如下所示:

29a387a55cdd868b844d06648d116a32.png

xargs后面不仅仅可以加文件分类的命令,你还可以加其他的很多命令,比如说实在一点的tar命令,你可以使用find命令配合tar命令,将指定路径的特殊文件使用find命令找出来,然后配合tar命令将找出的文件直接打包,命令如下:

# find / -name *.conf -type f -print | xargs tar cjf test.tar.gz

2、命令或脚本后台运行

有时候我们进行一些操作的时候,不希望我们的操作在终端会话断了之后就跟着断了,特别是一些数据库导入导出操作,如果涉及到大数据量的操作,我们不可能保证我们的网络在我们的操作期间不出问题,所以后台运行脚本或者命令对我们来说是一大保障。

比如说我们想把数据库的导出操作后台运行,并且将命令的操作输出记录到文件,那么我们可以这么做:

nohup mysqldump -uroot -pxxxxx --all-databases > ./alldatabases.sql &(xxxxx是密码)

当然如果你不想密码明文,你还可以这么做:

nohup mysqldump -uroot -p --all-databases > ./alldatabases.sql (后面不加&符号)

执行了上述命令后,会提示叫你输入密码,输入密码后,该命令还在前台运行,但是我们的目的是后天运行该命令,这个时候你可以按下Ctrl+Z,然后在输入bg就可以达到第一个命令的效果,让该命令后台运行,同时也可以让密码隐蔽输入。

命令后台执行的结果会在命令执行的当前目录下留下一个nohup.out文件,查看这个文件就知道命令有没有执行报错等信息。

3、找出当前系统内存使用量较高的进程

在很多运维的时候,我们发现内存耗用较为严重,那么怎么样才能找出内存消耗的进程排序呢?

命令:# ps -aux | sort -rnk 4 | head -20

2824809779756630a700c69c2d9d4720.png

输出的第4列就是内存的耗用百分比。最后一列就是相对应的进程。

4、找出当前系统CPU使用量较高的进程

在很多运维的时候,我们发现CPU耗用较为严重,那么怎么样才能找出CPU消耗的进程排序呢?

命令:# ps -aux | sort -rnk 3 | head -20

0e20afab7e554753caa8ce9b46622790.png

输出的第3列为CPU的耗用百分比,最后一列就是对应的进程。

我想大家应该也发现了,sort 命令后的3、4其实就是代表着第3列进行排序、第4列进行排序。

5、同时查看多个日志或数据文件

在日常工作中,我们查看日志文件的方式可能是使用tail命令在一个个的终端查看日志文件,一个终端就看一个日志文件。包括我在内也是,但是有时候也会觉得这种方式略显麻烦,其实有个工具叫做multitail可以在同一个终端同时查看多个日志文件。

首先安装multitail:

# wget ftp://ftp.is.co.za/mirror/ftp.rpmforge.net/redhat/el6/en/x86_64/dag/RPMS/multitail-5.2.9-1.el6.rf.x86_64.rpm

# yum -y localinstall multitail-5.2.9-1.el6.rf.x86_64.rpm

multitail工具支持文本的高亮显示,内容过滤以及更多你可能需要的功能。

如下就来一个有用的例子:

此时我们既想查看secure的日志指定过滤关键字输出,又想查看实时的网络ping情况:

命令如下:

# multitail -e "Accepted" /var/log/secure -l "ping baidu.com"

186c3ed81ae75e54c07406301dbca5e1.png

是不是很方便?如果平时我们想查看两个日志之间的关联性,可以观察日志输出是否有触发等。如果分开两个终端可能来回进行切换有点浪费时间,这个multitail工具查看未尝不是一个好方法。

6、持续ping并将结果记录到日志

很多时候,运维总会听到一个声音,是不是网络出什么问题了啊,导致业务出现怪异的症状,肯定是服务器网络出问题了。这个就是俗称的背锅,业务出了问题,第一时间相关人员找不到原因很多情况下就会把问题归结于服务器网络有问题。这个时候你去ping几个包把结果丢出来,人家会反驳你,刚刚那段时间有问题而已,现在业务都恢复正常了,网络肯定正常啊,这个时候估计你要气死。你要是再拿出zabbix等网络监控的数据,这个时候就不太妥当了,zabbix的采集数据间隔你不可能设置成1秒钟1次吧?小编就遇到过这样的问题,结果我通过以下的命令进行了ping监控采集。然后再有人让我背锅的时候,我把出问题时间段的ping数据库截取出来,大家公开谈,结果那次被我叼杠回去了,以后他们都不敢轻易甩锅了,这个感觉好啊。

命令:

ping api.jpush.cn | awk '{ print $0"" strftime("%Y-%m-%d %H:%M:%S

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

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

相关文章

Android SimpleAdapter的参数

1.作用是ArrayList和 ListView的桥梁。这个ArrayList里边的每一项都是一个Map<String,?>类型。 ArrayList当中的每一项 Map对象都和ListView里边的每一项进行数据绑定一一对应。2.SimpleAdapter的构造函数&#xff1a;SimpleAdapter(Context context, List<? …

一个excel文档里复制黏贴另外表单跟着变动_利用Excel连接Power BI,实现PPT报告自动输出...

​文/HALI就职于汽车行业战略部门 专注汽车市场信息情报收集和分析因为工作需要&#xff0c;每月周期性的更新数据和撰写PPT 报告成为繁重的劳动。结果是很多时间花费在数据处理上&#xff0c;真正的分析工作&#xff0c;往往只能草草收场。不能坐以待毙&#xff0c;就要想想有…

出现23.97帧率的原因

http://raytao.lofter.com/post/3d177_185a386 关于那些“格&#xff08;Frame&#xff09;”不得不说的事 今天早上&#xff0c;鄙人在社交网络发了这一系列的问题&#xff1a;请解释以下名词之间的关系或差异。帧&#xff0c;格&#xff0c;帧率&#xff0c;时基&#xff0c;…

使用ajax将数据显示在指定位置_AJAX学习主题之一

学习主题&#xff1a;AJAX删除用户功能实现根据视频中的讲解&#xff0c;完成以下内容简述删除功能的基本思路流程点击按钮获取当前元素中的用户uid&#xff0c;向服务器发起请求&#xff0c;将uid提交到服务器删除指定用户&#xff0c;浏览器获取浏览器响应结果。独立完成删除…

js日期比较大小_node.js 内存泄漏的秘密

每日前端夜话第276篇翻译&#xff1a;疯狂的技术宅作者&#xff1a;Giovanny Gongora来源&#xff1a;nodesource正文共&#xff1a;3955 字预计阅读时间&#xff1a;10分钟一直以来&#xff0c;跟踪 Node.js 的内存泄漏是一个反复出现的话题&#xff0c;人们始终希望对其复杂性…

win7+vs2015/13+caffe+matlab+python(CPU only)配置

首先声明本教程可以适用于vs2015 和vs2013 .以vs2015为例。 安装必备软件 vs 2015 /vs2013 matlab 2016a(64bit)推荐使用Anaconda 2.7 或者Miniconda 2.7这两个Python发布版本cmake 3.8.0 以上caffe-window: https://github.com/BVLC/caffe/tree/windows 可选软件&#xff1…

Performance Co-Pilot

Install Performance Co-Pilot 提前安装依赖 [rootiZrj97j6t7ih9hgz1me35hZ ~]# cat install.sh yum install -y docker yum install -y git yum install -y yum-utils-1.1.31-40.el7.noarch yum install lex yum install flex yum install -y bison yum install -y perl-ExtUt…

如何发布打包并发布自己的Android应用(APP)

第一步&#xff0c;在Eclipse中选择需要打包的项目&#xff0c;然后右键--选择Export&#xff0c;会弹出一个打包的提示框&#xff0c;如下图所示。 按Next之后&#xff0c;会继续出现一个提示框&#xff0c;这里你可以选择自己需要打包的项目&#xff08;默认是刚才选中的&…

js变量提升_一道JS变量提升题

var a 0;if(true){a 1;function a(){};a 21;console.log(a);}console.log(a);// 21 1 当前上下文代码执行之前&#xff0c;会将带var/function的进行声明/定义。当遇到“{}”时&#xff0c;新版浏览器和老版浏览器的处理不一致。老版浏览器&#xff08;IE10以下&#xff09;…

Caffe训练过程:test_iter test_interval等概念

转载自http://blog.csdn.net/iamzhangzhuping/article/details/49993899 先上一张图&#xff0c;大家很熟悉的一张图。 首先说明一个概念&#xff1a;在caffe中的一次迭代iteration指的是一个batch&#xff0c;而不是一张图片。 下面主要说下2个概念&#xff1a; test_ite…

R的获取和安装

R的获取和安装 一、下载 R可以在CRAN&#xff08;Comprehensive r archive network&#xff09;http://cran.r-project.org上免费下载&#xff0c;可供选择的有Linux、Mac OS X和windows对应的二进制文件&#xff1b; 我这里选择的是windows版本。打开如下页面&#xff1a; bas…

扩展欧几里得算法求逆元_从辗转相除法到求逆元,数论算法初体验

今天是算法和数据结构专题的第22篇文章&#xff0c;我们一起来聊聊辗转相除法。辗转相除法又名欧几里得算法&#xff0c;是求最大公约数的一种算法&#xff0c;英文缩写是gcd。所以如果你在大牛的代码或者是书上看到gcd&#xff0c;要注意&#xff0c;这不是某某党&#xff0c;…

[翻译] Fast Image Cache

https://github.com/path/FastImageCache Fast Image Cache is an efficient, persistent, and—above all—fast way to store and retrieve images in your iOS application. Part of any good iOS applications user experience is fast, smooth scrolling, and Fast Image …

php练习 租房子

题目要求 1.封装类 <?php class DBDA {public $fuwuqi"localhost"; //服务器地址public $yonghuming"root";//用户名public $mima"";//密码 public $dbconnect;//连接对象//操作数据库的方法//$sql代表需要执行的SQL语句//$type代表SQL语…

centos 安装boost(caffe需要)

安装 由于安装caffe&#xff0c;要求boost的版本在1.55以上&#xff0c;而服务器上的刚好是1.54,所以进行了重装。 参考&#xff1a;《CentOS 7下编译安装Boost_1_57_0 》 不过由于pycaffe需要boost.python,因此需要在./b2时修改为./b2 –stage debug 才可以。而不能去掉py…

JAVA正则表达式介绍和使用

本文引用自 http://www.cnblogs.com/android-html5/archive/2012/06/02/2533924.html 技术博客 1.Java中在某个字符串中查询某个字符或者某个子字串 Java代码 String s "Shang Hai Hong Qiao Fei Ji Chang";    String regEx "a|F"; //表示a或F Pat…

集合框架中的接口及其实现类

Collection&#xff1a;集合层次中的根接口&#xff0c;JDK没有提供这个接口直接地实现类。Set&#xff1a;不能包含重复的元素。SortedSet是一个按照升序排列元素的Set。List&#xff1a;是一个有序的集合&#xff0c;可以包含重复的元素。提供了按索引访问的方式。Map&#x…

C# 多线程 Parallel.For 和 For 谁的效率高?那么 Parallel.ForEach 和 ForEach 呢?

还是那句话&#xff1a;十年河东&#xff0c;十年河西&#xff0c;莫欺少年穷。 今天和大家探讨一个问题&#xff1a;Parallel.For 和 For 谁的效率高呢&#xff1f; 从CPU使用方面而言&#xff0c;Parallel.For 属于多线程范畴&#xff0c;可以开辟多个线程使用CPU内核&#x…

bigdecimal 小于等于0_图解小于 K 的两数之和

点击蓝色“五分钟学算法”关注我哟加个“星标”&#xff0c;天天中午 12:15&#xff0c;一起学算法作者 | P.yh来源 | 五分钟学算法题目描述 题目来源于 LeetCode 上第 1099 号问题&#xff1a;小于 K 的两数之和。给你一个整数数组 A 和一个整数 K&#xff0c;请在该数组中找出…