点击访问原文
您还可以加入全栈技术交流群(QQ群号:254842154)


服务器日志查看,是开发人员和服务器运维人员在工作中经常会遇到的一件事情,只有一台服务器时,比较好办,直接登录服务器使用tail -f file-path 命令就可以实时查看到日志文件的输出。当有负载的需要,服务器多了之后,就会比较麻烦,为了查找一个问题的日志可能需要登录多台服务器。今天给大家介绍一种借助sshfs,非常简单的日志文件挂载方案,可以方便大家查看服务器日志文件。

sshfs介绍

sshfs是基于fuse构建的ssh文件系统客户端程序,通过它远程主机的配置无需作任何改变,就可以透过SSH协议来挂载远程文件系统了,非常方便及安全。

sshfs的安装,在centOS中的安装命令如下:

yum -y install sshfs

挂载

sshfs的远程文件挂载,需要结合ssh免密码登录一起实施。假设现在有A、B、C三台服务器的日志,需要挂载到D服务器。首先需要将D服务器的公钥写入A、B、C三台服务器。配置方法参见我之前的文章

把远程服务器的 /mydata/logs/目录下的所有文件,挂载到D服务器,在D服务器的/mydata/logs/目录下为每个服务器建一个目录。(ip_address_A代表A服务器的ip地址,需要自行替换)

//把A服务器的 /mydata/logs/ 目录 挂载到 D服务器的 /mydata/logs/A/ 目录

sshfs root@ip_address_A:/mydata/logs/ /mydata/logs/A/

其他两台服务器的挂载方法一样。挂载成功后,可以使用 mount命令查看挂载情况:

mount -l

可以看到挂载的情况:

root@ip_address_A:/mydata/logs/on /mydata/logs/A type fuse.sshfs (rw,nosuid,nodev)

root@ip_address_B:/mydata/logs/on /mydata/logs/B type fuse.sshfs (rw,nosuid,nodev)

root@ip_address_C:/mydata/logs/on /mydata/logs/C type fuse.sshfs (rw,nosuid,nodev)

也可以使用df -h命令查看磁盘的挂载情况。另外,想要开机自动挂载目录,可以编辑/etc/fstab文件,加入以下几行:

sshfs#root@ip_address_A:/mydata/logs/ /mydata/logs/A fuse defaults,auto,allow_other 0 0

sshfs#root@ip_address_B:/mydata/logs/ /mydata/logs/B fuse defaults,auto,allow_other 0 0

sshfs#root@ip_address_C:/mydata/logs/ /mydata/logs/C fuse defaults,auto,allow_other 0 0

其中,allow_other参数代表该设置对其他用户也生效。也必须先把ssh自动登录配置好了,让root用户能够使用root身份登录远程主机。配置方法参见我之前的文章

挂载成功后,就可以在服务器D直接查看所有服务器的日志了,在D服务器的/mydata/logs/目录输入以下命令。(假设A、B、C三台服务器的/mydata/logs/目录下都有log.txt这个文件)

tail -f */log.txt

日志的输出中,会标出日志是在哪台服务器的,例如:

==> A/log.txt <==
get log message from A

假如只想查看日志中包含关键字 a b c的日志,可以这样查看

 tail -f */log.txt | grep 'a b c'

日志的输出会有一定的延时。
需要注意的是,取消挂载时,不要直接删除挂载目录,请使用以下命令取消挂载:

fusermount -u /mydata/logs/A

或者直接使用umount命令取消挂载。

作者:hellojammyPlus
链接:https://www.jianshu.com/p/cdf5652a88d3
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

使用sshfs挂载远程服务器目录的更多相关文章

  1. Linux/Mac 挂载远程服务器目录到本地

    1. 安装 sudo apt-get installsshfs 2. 创建SSHFS 挂载目录 sudo mkdir/mnt/siyuan 3.使用SSHFS 挂载远程的文件系统 sudo sshfs ...

  2. Mac安装SSHFS挂载远程服务器上的文件夹到本地

    一.安装SSHFUS sshfs依赖于fuse,所以需要先安装fuse,这两个软件都可以在https://osxfuse.github.io/下载到. 注意安装顺序. 二.挂载文件夹到本地 输入一下命 ...

  3. Ubuntu下使用sshfs挂载远程目录到本地(和Windows挂载盘一样)

    访问局域网中其他Ubuntu机器,在不同机器间跳来跳去,很是麻烦,如果能够把远程目录映射到本地无疑会大大方面使用,就像Windows下的网络映射盘一样.在Linux的世界无疑也会有这种机制和方式,最近 ...

  4. Ubuntu 下使用 sshfs 挂载远程目录到本地

    参考链接:http://blog.csdn.net/netwalk/article/details/12952719 一.Ubuntu 上安装sshfs Ubuntu源中已经包含了sshfs,以及所需 ...

  5. Ubuntu下使用sshfs挂载远程目录到本地

    访问局域网中其他Ubuntu机器,在不同机器间跳来跳去,很是麻烦,如果能够把远程目录映射到本地无疑会大大方面使用,就像Windows下的网络映射盘一样.在Linux的世界无疑也会有这种机制和方式,最近 ...

  6. 使用 SSHFS 挂载远程的 Linux 文件系统及目录

    1. 安装 sudo apt-get install sshfs 2. 创建 SSHFS 挂载目录 sudo mkdir /mnt/cong 3.使用 SSHFS 挂载远程的文件系统 sudo ssh ...

  7. Linux安装sshfs挂载远程目录到本地及卸载

    挂载远程目录的方式很多,这里把sshfs记录一下备忘.Linux用sshfs挂载远程目录到本地 安装sshfs 在Ubuntu下,只需要使用 $ sudo apt-get install sshfs ...

  8. Linux使用sshfs挂载远程目录到本地

    1安装sshfs [root@iZwz9hy7gff0kpg1swp1d3Z ~]# yum install sshfs 2创建本地目录 [root@iZwz9hy7gff0kpg1swp1d3Z ~ ...

  9. RHCE之配置autofs远程挂载远程服务器的家目录

    [root@server0 ~]# yum -y install autofs              安装包 [root@server0 ~]# vim /etc/auto.master      ...

随机推荐

  1. 一个tomcat上部署多个项目,并通过不同端口号访问不同的项目

    原文:http://www.cnblogs.com/kismetv/p/7228274.html#title3-1 现在以部署两个项目为例: 第一步:修改tomcat下的server.xml文件 配置 ...

  2. (一)什么是webservice?

    第一节: 第一节:Webservice 简介 第二节: 第二节:CXF 简介 webservice 有的人一看到这个,估计会认为这个是一种新技术,一种新框架. 其实不是,严格的说,webservice ...

  3. python 全栈开发,Day45(html介绍和head标签,body标签中相关标签)

    一.html介绍 1.web标准 web准备介绍: w3c:万维网联盟组织,用来制定web标准的机构(组织) web标准:制作网页遵循的规范 web准备规范的分类:结构标准.表现标准.行为标准. 结构 ...

  4. 步步为营-54-DOM

    说明:DOM document object model 文档对象模型.将所有的标记加载到内存中,以树形结构处理 1.1 使用JavaScript操作DOM,主要包括两个部分 Browser对象:BO ...

  5. python yield,到这个层次,才能叫深入哈

    http://python.jobbole.com/88677/?utm_source=blog.jobbole.com&utm_medium=relatedPosts ~~~~~~~~~~~ ...

  6. MySQL和Java数据类型对应

    Java MySQL数据类型对照 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述             VARCHAR L+N VARCHAR java.lang.S ...

  7. Codeforces 460D Little Victor and Set(看题解)

    Little Victor and Set 其他都很好求, 只有k == 3的时候很难受.. 我们找到第一个不大于l的 t, 答案为 l, 3 * t, (3 * t) ^ l 感觉好像是对的, 感觉 ...

  8. RefreshListView下拉刷新

    布局: <com.example.administrator.d30_myrefreshlistview.RefreshListView android:id="@+id/refres ...

  9. hdu 5748 Bellovin【最长上升子序列】

    题目链接:https://vjudge.net/contest/148584#problem/A 题目大意: 解题思路:题目要求为:输出与已知序列的每一个元素的f(i)(f(i)的定义如题)相同的字典 ...

  10. js数据结构之栈和队列的详细实现方法

    队列 队列中我们主要实现两种: 1. 常规队列 2. 优先队列(实际应用中的排队加急情况等) 常规队列的实现方法如下: // 常规队列 function Queue () { this.queue = ...