rsync通过服务同步、linux系统日志、screen工具

简介:

rsync 通过服务同步

在使用该方法进行同步之前,需要开启rsync服务并且监听一个端口,默认为873端口。开启服务之前编辑rsync配置文件“/etc/rsyncd.conf”(将服务添加进去)然后直接使用命令:“rsync --daemon(服务名称)”进行同步。或者将配置文件写到一个自定义文件中,则需要使用参数“rsync--configfile=路径”进行同步。配置完成后客户端可以通过指定端口无服务端进行通信。

一、编辑 /etc/rsyncd.conf 文件,将一下内容添加到该文件中。(服务端)

port=873
# 指定哪个端口启动rsync服务,默认是873端口。
log file=/var/log/rsync.log
# 指定日志文件
pid file=/var/run/rsyncd.pid
# 指定pid文件,这个文件的作用涉及服务的启动、停止等进程管理操作。
address=192.168.133.130
# 指定启动rsync服务的IP。假如你的机器有多个IP,就可以指定由其中一个启动rsyncd服务,如果不指定该参数,默认是在全部IP上启动。
[test]
# []指定模块名,里面内容为自定义的
path=/tmp/rsync
# 指定数据存放的路径
use chroot=true
# 表示在传输文件前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但缺点是需要以roots权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true,如果你的数据当中有软连接文件,建议设置成false
max connections=4
# 指定最大的同时连接数,默认是0,即没有限制。
read only=no
# 是否只读,如果是yes ,则不能上传到该模块指定的路径下。
list=true
# 表示当用户查询该服务器上的可用模块时,该模块是否被列出来。true是列出,false是隐藏。
uid=root
gid=root
# uid gid 指定传输文件时以哪个用户/组的身份传输。
auth users=test
# 指定传输时要使用的用户名
secrets file=/etc/rsyncd.passwd
# 指定密码文件,该参数连同上面的参数如果不指定,则不使用密码验证。注意:密码文件的权限一定要是600.格式: 用户名:密码 
hosts allow=192.168.133.132
# 表示被允许连接该模块的主机,可以是IP或者网段(192.168.100.0/24),如果是多个,中间用空格隔开。
  • 修改端口之后需要重新启动服务(先killall rsync,然后再rsync --daemon),然后同步数据的时候需要加上参数 --port 新端口号。

    [root@localhost ~]# rsync -avP --port 8730 /tmp/a.txt 192.168.159.130::test/aaa.txt

  • 当list为true时,rsync avP --port 873 192.168.159.128:: 就可以把模块名列出来。当list为false时,输入那条命令则不列出来。这是一个安全选项,建议不显示。

  • 当设置了auth users和secrets file后,客户端连服务端也需要用用户名密码了,如想在命令行中带上密码,可以在客户端设定一个密码文件。rsync -avL test@192.168.159.128::test/test1/ /tmp/test8/ --password-file =/etc/pass。 其中/etc/pass内容就是一个密码,权限要改为600。

    密码文件在客户端上创建!客户端上的密码文件的密码要和secreats定义的密码文件的密码一致。

二、 启动服务

使用命令 rsync --daemon 启动服务(服务端)

[root@localhost ~]# rsync --daemon
[root@localhost ~]# ps aux | grep rsync
root       2843  0.0  0.0 114656   524 ?        Ss   15:02   0:00 rsync --daemon
root       2845  0.0  0.0 112676   972 pts/0    S+   15:03   0:00 grep --color=auto rsync
[root@localhost ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
......      
tcp        0      0 192.168.159.128:873     0.0.0.0:*               LISTEN      2843/rsync          
......      

三、在远程机器上同步文件(客户端)

[root@localhost ~]# rsync -avP /tmp/20171206.txt 192.168.159.128::test/06.txt
rsync: failed to connect to 192.168.159.128 (192.168.159.128): No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(122) [sender=3.0.9]

报错!这时候需要检测网络连通性和端口是否有问题。防火墙规则是否限制(systemctl stop firewalld 暂时关闭防火墙)

[root@localhost ~]# rsync -avP /tmp/20171206.txt 192.168.159.128::test/06.txt
sending incremental file list
20171206.txt
    1128 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/1)

sent 1204 bytes  received 27 bytes  2462.00 bytes/sec
total size is 1128  speedup is 0.92

同步成功之后会在目标服务器上的path路径中找到同步的文件。

linux系统日志

  • /var/log/messages

    除非服务有单独定义日志,否则所有日志都在这个文件里面。

  • /etc/logrotate.conf

    日志切割配置文件

  • /var/log/dmesg

    系统启动日志

  • /var/log/scure

    安全日志,会显示用户登录的信息。

dmesg 命令

dmesg 命令用于显示开机信息。kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。

  • dmesg -c:清除日志(日志在系统重启会重新生成)
  • dmesg -n:指定记录信息的层级

  • /var/log/dmesg 记录系统启动的信息。

last 命令

last命令用于显示用户最近登录信息。单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。/var/log/wtmp 文件是一个二进制文件,不能cat。

lastb 命令

lastb命令用于显示用户错误的登录列表,此指令可以发现系统的登录异常。单独执行lastb命令,它会读取/var/log/btmp文件,并把该文件内容记录的登入失败的用户名单,全部显示出来。
服务器被暴力破解,这个日志中就会有很多记录。

screen 工具 (虚拟终端)

系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

  • 安装screen工具:yum install -y screen
  • 将一个任务在后台

    nohup 命令 >[日志文件] 2>[日志文件] &

    将命令放到后台执行,正确输出和错误输出放到不通的日志文件中。

  • screen 直接回车进入虚拟终端
  • ctral a组合键再按d退出虚拟终端,但不是结束
  • screen -ls查看虚拟终端列表
  • screen -r id或别名进入指定的终端
  • screen -S 给虚拟终端起个别名

本文转自 豆渣锅 51CTO博客,原文链接:http://blog.51cto.com/754599082/2048146
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6天前
|
运维 Unix Linux
Linux系统 PHP安装expect扩展详解
Linux系统 PHP安装expect扩展详解
17 5
|
7天前
|
Java Linux Shell
linux自动部署jar包,注册系统服务(基于Centos7)
linux自动部署jar包,注册系统服务(基于Centos7)
22 0
|
7天前
|
缓存 运维 Linux
Linux系统调优详解(十二)——IO调优之磁盘测速
Linux系统调优详解(十二)——IO调优之磁盘测速
24 1
|
8天前
|
Java Linux
手把手教你Linux系统下的Java环境配置,简单到不行!
手把手教你Linux系统下的Java环境配置,简单到不行!
29 1
|
1天前
|
Oracle Linux Shell
Linux系统介绍
Linux系统介绍
10 2
|
2天前
|
Linux
Linux日志轮替
Linux日志轮替
16 2
Linux日志轮替
|
5天前
|
关系型数据库 MySQL Linux
MySQL 数据库安装详解(linux系统和windows系统)
MySQL 数据库是一种广泛使用的开源关系数据库管理系统。在 Linux 和 Windows 系统上安装 MySQL 数据库的步骤略有不同。
28 0
|
5天前
|
弹性计算 安全 Linux
阿里云ECS Linux系统漏洞修复详细教程
阿里云ECS Linux系统漏洞修复详细教程
|
5天前
|
关系型数据库 MySQL Linux
Linux系统之部署Plik临时文件上传系统
【2月更文挑战第1天】Linux系统之部署Plik临时文件上传系统
40 0
|
7天前
|
运维 安全 Linux
Linux系统调优详解(十一)——IO调优之文件打开数目限制
Linux系统调优详解(十一)——IO调优之文件打开数目限制
16 5