本文共 3820 字,大约阅读时间需要 12 分钟。
在使用该方法进行同步之前,需要开启rsync服务并且监听一个端口,默认为873端口。开启服务之前编辑rsync配置文件“/etc/rsyncd.conf”(将服务添加进去)然后直接使用命令:“rsync --daemon(服务名称)”进行同步。或者将配置文件写到一个自定义文件中,则需要使用参数“rsync--configfile=路径”进行同步。配置完成后客户端可以通过指定端口无服务端进行通信。
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=rootgid=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时,输入那条命令则不列出来。这是一个安全选项,建议不显示。
密码文件在客户端上创建!客户端上的密码文件的密码要和secreats定义的密码文件的密码一致。
使用命令 rsync --daemon 启动服务(服务端)
[root@localhost ~]# rsync --daemon[root@localhost ~]# ps aux | grep rsyncroot 2843 0.0 0.0 114656 524 ? Ss 15:02 0:00 rsync --daemonroot 2845 0.0 0.0 112676 972 pts/0 S+ 15:03 0:00 grep --color=auto rsync[root@localhost ~]# netstat -lntpActive 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.txtrsync: 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.txtsending incremental file list20171206.txt 1128 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1)sent 1204 bytes received 27 bytes 2462.00 bytes/sectotal size is 1128 speedup is 0.92
同步成功之后会在目标服务器上的path路径中找到同步的文件。
/var/log/messages
除非服务有单独定义日志,否则所有日志都在这个文件里面。
/etc/logrotate.conf
日志切割配置文件
/var/log/dmesg
系统启动日志
安全日志,会显示用户登录的信息。
dmesg 命令用于显示开机信息。kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。
dmesg -n:指定记录信息的层级
last命令用于显示用户最近登录信息。单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。/var/log/wtmp 文件是一个二进制文件,不能cat。
lastb命令用于显示用户错误的登录列表,此指令可以发现系统的登录异常。单独执行lastb命令,它会读取/var/log/btmp文件,并把该文件内容记录的登入失败的用户名单,全部显示出来。
服务器被暴力破解,这个日志中就会有很多记录。
系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
将一个任务在后台
nohup 命令 >[日志文件] 2>[日志文件] &
将命令放到后台执行,正确输出和错误输出放到不通的日志文件中。
转载于:https://blog.51cto.com/754599082/2048146