日常运维(八):sync通过服务同步,linux系统日志,screen工具

来源:互联网 发布:灯火阑珊网络电视直播 编辑:程序博客网 时间:2024/05/24 06:15

主要内容:

1. sync通过服务同步

2. linux系统日志

3. screen工具

1. sync通过服务同步

编辑配置文件vim /etc/rsyncd.conf

在最后一行加入以下rsyncd.conf样例:

port=873

log file=/var/log/rsync.log

pid file=/var/run/rsyncd.pid

address=192.168.179.130

[test]

path=/root/rsync

use chroot=true

max connections=4

read only=no

list=true

uid=root

gid=root

auth users=test

secrets file=/etc/rsyncd.passwd

hosts allow=192.168.179.128

开启rsync

[root@gregory ~]# rsync -avP rsyncGreg1/greg.txt 192.168.179.130::test/greg01.txt

rsync: failed to connect to 192.168.179.130 (192.168.179.130): No route to host (113)

rsync error: error in socket IO (code 10) at clientserver.c(122) [sender=3.0.9]

报错了,检查网络:

[root@gregory ~]# ping 192.168.179.130

PING 192.168.179.130 (192.168.179.130) 56(84) bytes of data.

64 bytes from 192.168.179.130: icmp_seq=1 ttl=64 time=0.798 ms

64 bytes from 192.168.179.130: icmp_seq=2 ttl=64 time=0.280 ms

网络没有问题检查端口:

[root@gregory ~]# telnet 192.168.179.130 873

Trying 192.168.179.130...

telnet: connect to address 192.168.179.130: No route to host

这时端口有问题,关闭防火墙或者iptables,我的是关闭iptables

systemctl stop iptables(两台Linux均关闭):

退出Telnet用Ctrl+],然后quit就可以了。

[root@gregory ~]# rsync -avP rsyncGreg1/greg.txt 192.168.179.130::test/greg01.txt

同步成功:

配置文件参数:

port 指定在哪个端口启动rsyncd服务,默认是873

 

log file 指定日志文件

 

pid file 指定pid文件,这个文件的作用涉及到服务的启动以及停止等进程管理操作

 

address 指定启动rsyncd服务的IP,假如你的机器有多个IP,就可以指定其中一个启动rsyncd服务,默认是在全部IP上启动

 

[test] 指定模块名,自定义

 

path 指定数据存放的路径

 

use chroot true|false 默认是true,意思是在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要以roots权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true,如果你的数据当中有软连接文件的话建议设置成false。

 

max connections 指定最大的连接数,默认是0即没有限制

 

read only ture|false 如果为true则不能上传到该模块指定的路径下

 

list 指定当用户查询该服务器上的可用模块时,该模块是否被列出,设定为true则列出,false则隐藏

 

uid/gid 指定传输文件时,以哪个用户/组的身份传输

 

auth users 指定传输时要使用的用户名

 

secrets file 指定密码文件,该参数连同上面的参数如果不指定则不使用密码验证,注意该密码文件的权限一定要是600

 

hosts allow 指定被允许连接该模块的主机,可以是IP或者网段,如果是多个,之间用空格隔开

参数实例:

1)use chroot为true,不可以同步软链接文件

[root@gregory ~]# rsync -avL 192.168.179.130::test/greg02.txt rsyncGreg1/greg012.txt

receiving incremental file list

rsync: link_stat "/greg02.txt" (in test) failed: No such file or directory (2)

 

sent 4 bytes received 8 bytes 24.00 bytes/sec

total size is 0 speedup is 0.00

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1518) [Receiver=3.0.9]

use chroot为 false可以同步软链接文件

[root@gregory ~]# rsync -avL 192.168.179.130::test/greg02.txt rsyncGreg1/greg013.txt

receiving incremental file list

greg02.txt

 

sent 45 bytes received 1194 bytes 826.00 bytes/sec

total size is 1089 speedup is 0.88

修改rsyncd.com配置文件后不需要重启rsyncd服务,这时rsync的一个特定机制,配置文件是即时生效的。

2)指定端口,修改/etc/rsyndc.conf ,port=8730

[root@gregory ~]# rsync -avL 192.168.179.130::test/greg02.txt rsyncGreg1/greg012.txt

rsync: failed to connect to 192.168.179.130 (192.168.179.130): Connection refused (111)

rsync error: error in socket IO (code 10) at clientserver.c(122) [Receiver=3.0.9]

加上—port 8730

[root@gregory ~]# rsync -avL --port 8730 192.168.179.130::test/greg02.txt rsyncGreg1/greg012.txt

receiving incremental file list

greg02.txt

 

sent 45 bytes received 1194 bytes 2478.00 bytes/sec

total size is 1089 speedup is 0.88

3)指定密码文件

把密码写入/etc/rsync_pass.txt

chmod 600 /etc/rsync_pass.txt

 

然后指定密码文件就可以免密码登录。

多个ip的话可以在hosts allow后面加上空格分隔,也可以是ip段

hosts allow=192.168.133.132 1.1.1.1 2.2.2.2 192.168.133.0/24

2. linux系统日志

/var/log/message, 它是核心系统日志文件,包含了系统启动时的引导消息,以及系统运行时的其他状态消息。IO错误、网络错误和其他系统错误都会记录到这个文件中。另外其他信息,比如某个人的身份切换为root以及用户自定义安装的软件(apache)的日志也会在这里列出。通常,/var/log/messages是在做故障诊断时首先要查看的文件。

    这么多日志都记录到这个文件中,那如果服务器上有很多服务岂不是这个文件很快就会写的很大,没错,但是系统有一个日志轮询的机制,每星期切换一个日志,变成message.xxxxxxxx, message.xxxxxxxx, ... messages.xxxxxxxx 连同messages一共有5个这样的日志文件。这里的xxxxxxxx就是按照日期的格式生成的文件,在CentOS5里,这个后缀并不是日期而是数字1,2,3,4. 这是通过logrotate工具的控制来实现的,它的配置文件是/etc/logrotate.conf如果没有特殊需求不要修改这个配置文件。

[root@gregory ~]# ls /etc/logrotate.d

ppp syslog wpa_supplicant yum

[root@gregory ~]# cat /etc/logrotate.d/syslog

/var/log/cron

/var/log/maillog

/var/log/messages

/var/log/secure

/var/log/spooler

{

missingok

sharedscripts

postrotate

    /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true

endscript

}

/var/log/messages是由syslogd这个守护进程产生的,如果停掉这个服务则系统不会产生/var/log/messages,所以这个服务不要停。Syslogd服务的配置文件为/etc/syslog.conf这个文件定义了日志的级别,因为若没有特殊需求是不需要修改这个配置文件的,使用 man syslog.conf 可查看帮助文档。

 

dmesg 这个命令,它可以显示系统的启动信息,如果你的某个硬件有问题(比如说网卡)用这个命令也是可以看到的。

 

安全日志:

last命令用来查看登录Linux历史信息,从左至右依次为账户名称、登录终端、登录客户端ip、登录日期及时长。last命令输出的信息实际上是读取了二进制日志文件/var/log/wtmp, 只是这个文件不能直接使用cat, vim, head, tail等工具查看。

另外一个和登陆信息有关的日志文件为/var/log/secure, 该日志文件记录验证和授权等方面的信息,比如ssh登陆系统成功或者失败,都会把相关信息记录在这个日志里。

3. screen工具

screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的SSH连接窗口那样。

1)打开一个会话,直接输入screen命令然后回车,进入screen会话窗口

2)screen -ls 查看已经打开的screen会话

3)Ctrl +a 再按d退出该screen会话,只是退出,并没有结束。结束的话输入Ctrl +d 或者输入exit

4)退出后还想再次登录某个screen会话,使用sreen -r [screen 编号],这个编号就是上例中那个20001. 当只有一个screen会话时,后面的编号是可以省略的。当你有某个需要长时间运行的命令或者脚本时就打开一个screen会话,然后运行该任务。按ctrl +a 再按d退出会话,不影响终端窗口上的任何操作。

screen -S yourname -> 新建一个叫yourname的session screen -ls -> 列出当前所有的session screen -r yourname -> 回到yourname这个session screen -d yourname -> 远程detach某个session screen -d -r yourname -> 结束当前session并回到yourname这个session


阅读全文
0 0