扩展:
1. Linux日志文件总管logrotate:
http://linux.cn/article-4126-1.html
2. xargs用法详解:
http://blog.csdn.net/zhangfn2011/article/details/6776925
10.32 rsync通过服务同步(上)
• rsync 通过服务的方式同步:
在 A机器上操作:
1. 创建 rsync目录 :
[root@hao-001 ~]# mkdir /tmp/rsync
2. 设置 rsync目录权限 为777 :
[root@hao-001 ~]# chmod 777 /tmp/rsync
3. 创建 rsync配置文件 :
[root@hao-001 ~]# vim /etc/rsyncd.conf
最下面另起行——插入:
port=873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=192.168.223.128
[hao1]
path=/tmp/rsync
use chroot=true
max connections=4
read only=no
list=true
uid=root
gid=root
#auth users=haolinux
#secrets file=/etc/rsyncd.passwd
hosts allow=192.168.223.129
注解:
port=873 定义的是端口
address=192.168.223.128 定义的是A机器的ip
[hao1] 模块名字,指向的是/tmp/rsync目录
path=/tmp/rsync 定义的是传输文件保存目录(hao1模块指向的路径)
#auth users=haolinux 定义用户名,这里暂时注释掉了
#secrets file=/etc/rsyncd.passwd 定义密码文件的路径(需要创建密码文件)
hosts allow=192.168.223.129 定义的是B机器的ip
rsyncd.conf配置文件详解:
• port:自定义(指定)端口,启动rsyncd服务(默认是873端口)
• log file:自定义(指定)日志文件(自定义绝对路径)
• pid file:自定义(指定)pid文件,这个文件的作用涉及服务的启动、停止等进程管理操作。
• address:自定义(指定)启动rsyncd服务的IP
(假如你的机器有多个IP,就可以指定由其中一个启动rsyncd服务,如果不指定该参数,默认是在全部IP上启动)
• []:自定义模块名([hao1])。
• path:指定数据存放的路径。
• use chroot true/false:use chroot true如果同步软链接,则会被拦截;use chroot false 如果同步软链接,不会被拦截!!
表示在传输文件前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但缺点是需要以roots权限,并且不能备份指向外部的符号连接所指向的目录文件。(默认情况下chroot值为true,如果你的数据当中有软连接文件,阿铭建议你设置成false。)
• max connections:指定最大同时连接数,(默认是0,即没有限制)
• read only ture:如果为true,则不能上传到该模块指定的路径下(read only false可以上传)
• list:表示当用户查询该服务器上的可用模块时,该模块是否被列出,设定: true列出,false隐藏。
• uid/gid:指定传输文件时,以哪个用户或组的身份传输。
• auth users:指定传输时要使用的用户名。
• secrets file:指定密码文件,该参数连同上面的参数如果不指定,则不使用密码验证。
(注意该密码文件的权限一定要是600。格式:用户名:密码)
设置auth users和secrets file后,客户端连服务端也需要用户名密码了(若想在命令行中带上密码,可以设定一个密码文件)
• hosts allow:表示被允许连接该模块的主机,可以是IP或者ip网段(如果是多个IP,中间用空格隔开)
4. 启动 rsync服务 :
[root@hao-001 ~]# rsync --daemon
5. 搜素 rsync服务,是否启动?
[root@hao-001 ~]# ps aux |grep rsync
在 B机器上操作:
6. 检查是否ping通hao1网卡ip :
[root@hao-02 ~]# ping 192.168.223.128
7. 安装 telnet命令:
[root@hao-02 ~]# yum install -y telnet
8. 检查 A机器 ip端口 是否 ping通?
[root@hao-02 ~]# telnet 192.168.223.128 873
9. 如果不通,A机器,和B机器,把firewalld服务关掉 :
[root@hao-02 ~]# systemctl stop firewalld
[root@hao-001 ~]# systemctl stop firewalld
10. 推送 本地文件到远程 :
(把hao2的文件,推送到远程hao1模块对应的目录下:把B机器上的文件,传送给远程A机器—保存在模块对应的目录(/tmp/rsync)下)
rsync -avP 本地推送文件 远程ip::模块名/重命名文件
[root@hao-02 ~]# rsync -avP /tmp/1.txt 192.168.223.128::hao1/222.txt
11. 拉 远程文件到本地 :
(把hao1模块对应目录下文件,拉到本地hao2的指定目录下,并重命名)
rsync -avP 远程ip::模块名/远程拉的原文件 本地存放目录/重命名文件
[root@hao-02 ~]# rsync -avP 192.168.223.128::hao1/222.txt /tmp/123.txt
12. A机器上,查看rsync操作日志 :
[root@hao-001 ~]# cat /var/log/rsync.log
10.33 rsync通过服务同步(下)
1. 更改 rsync配置文件 :
[root@hao-001 ~]# vim /etc/rsyncd.conf
(把默认端口号873更改为8730)
更改内容:port=8730
2. 重启 killall服务 :
关闭rsync服务:
[root@hao-001 ~]# killall rsync
开启rsync服务:
[root@hao-001 ~]# rsync --daemon
3. 在B机器上,同步A机器文件,需要指定端口号了:
rsync -avP 本地推送文件 --port hao1端口号 远程ip::模块名/重命名文件
[root@hao-02 ~]# rsync -avP /tmp/1.txt --port 8730 192.168.223.128::hao1/333.txt
4. 查看 可用模块 :
( list:表示当用户查询该服务器上的可用模块时,该模块是否被列出,设定: true列出,false隐藏。列出list=true 或隐藏list=false )
[root@hao-02 ~]# rsync --port=8730 192.168.223.128::
5. 修改 rsyncd.conf配置文件 :
[root@hao-001 ~]# vim /etc/rsyncd.conf
编辑:消除设定密码的两行行首 #(注释符号)
auth users=自定义用户名
secrets file=自定义密码文件路径
6. 创建 密码文件 :
[root@hao-001 ~]# /etc/rsyncd.passwd
添加格式: 自定义用户名:自定义密码
7. 设置 密码文件权限为600 :
[root@hao-001 ~]# chmod 600 /etc/rsyncd.passwd
8. 客户端B机器上操作,推送本地文件到远程下:
rsync -avP 本地推送文件 --port=端口号 密码对应的用户名@远程ip::模块名/重命名文件
[root@hao-02 ~]# rsync -avP /tmp/1.txt --port=8730 haolinux@192.168.223.128::hao1/444.txt
9. 客户端B机器上操作,创建 密码文件 :
[root@hao-02 ~]# vi /etc/rsync_pass.txt
添加内容:A机器rsync_pass.txt密码文件设定的密码!
10. 设置 密码文件权限为600 :
[root@hao-02 ~]# chmod 600 /etc/rsync_pass.txt
11. B机器本地文件推送到远程A机器模块对应的目录下,并重命名文件 :
密码验证,免输入密码,就可以同步文件到远程
• secrets file:指定密码文件,该参数连同上面的参数如果不指定,则不使用密码验证。
rsync -avP 本地推送文件 --port=端口号 --password-file=客户端密码文件路径 密码对应的用户名@远程ip::模块名/重命名文件
[root@hao-02 ~]# rsync -avP /tmp/1.txt --port=8730 --password-file=/etc/rsync_pass.txt haolinux@192.168.223.128::hao1/555.txt
10.34 Linux系统日志
logrotate工具 使用参考 :
https://my.oschina.net/u/2000675/blog/908189
1. 列出 linux系统日志文件 :
(一周切割一次,保留四个日志文件带日期)
[root@hao-01 ~]# ls /var/log/messages*
2. 查看 系统日志切割配置文件内容 :
[root@hao-01 ~]# cat /etc/logrotate.conf
3. 内存中系统日志 :
[root@hao-01 ~]# dmesg
4. 清除 内存中系统日志 :
[root@hao-01 ~]# dmesg -c
5. 列出 记录系统启动的日志 :
[root@hao-01 ~]# ls /var/log/dmesg
6. 查看 正确的用户登陆历史日志 :
•last命令调用的文件/var/log/wtmp(用last命令来查看的)
[root@hao-01 ~]# last
7. 查看 失败的用户登陆历史日志 :
•lastb命令调用的文件/var/log/btmp(用lastb命令来查看的)
[root@hao-01 ~]# lastb
8. 查看 安全日志 :
[root@hao-01 ~]# less /var/log/secure
10.35 screen工具
•screen是一个虚拟终端
1. 安装 screen :
[root@hao-01 ~]# yum install -y screen
2. 进入 虚拟终端:
[root@hao-01 ~]# screen
3. 退出 screen虚拟终端,但不结束:
键盘快捷键: ctral a组合键 再按d
4. 查看 虚拟终端列表:
[root@hao-01 ~]# screen -ls
5. 进入 指定的终端 :screen -r 终端id号
[root@hao-01 ~]# screen -r 2693
6. 退出(杀死) 运行的终端 :
[root@hao-01 ~]# exit
7. 自定义 screen :screen -S "自定义screen"
[root@hao-01 ~]# screen -S "hao_screen"
8. 进入 自定义的screen:
[root@hao-01 ~]# screen -r hao_screen
9. 查看 虚拟终端列表:
[root@hao-01 ~]# screen -ls