主要内容:
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