2018.6.15课堂笔记

文件同步工具rsync


Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。Rstync软件适用于unix/linux/windows等多种操作系统平台。
Rsync英文全称为Remotesynchronization,即远程同步。从软件的名称就可以看出来,Rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似ssh带的scp命令,但又优于scp命令的功能,scp每次都是全量拷贝,而rsync可以增量拷贝。当然,Rsync还可以在本地主机的不通分区或目录之间全量及增量的复制数据,这又类似cp命令,但同样也优于cp命令,cp每次都是全量拷贝,而rsync可以增量拷贝。此外,利用Rsync还可以实现删除文件和目录功能,这又相当于rm命令。
一个rsync相当于scp,cp,rm,并且优于他们每一个命令。
在同步备份数据时,默认情况下,Rsync通过其独特的”quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可以根据权限,属主等属性的变化同步,但需要制定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分,所以,可以实现快速的同步备份数据。
rsync的特性
支持拷贝特殊文件如链接文件,设备等。
可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。
可以做到保持源文件或目录的权限、时间、软硬链接、属主、组等所有属性均不改变-p。
可以实现增量同步,既只同步发生变化的数据,因此数据传输效率很高。
可以使用rcp,rsh,ssh等方式来配合传输文件(rsync本身对数据不加密)。
可以通过sockert(进程方式)传输文件和数据(服务端和客户端)。
支持匿名或认证(无需系统用户)的进程模式传输,可实现方便安全的进行数据备份及镜像。
注意:需要注意拷贝的时候源目录加“/”和不加“/”的区别(加“/”表示只拷贝该目录之下的文件;不加“/”表示连该目录一起拷贝)

安装命令: yum install -y rsync


已加载插件:fastestmirror
base                                                              | 3.6 kB  00:00:00     
extras                                                            | 3.4 kB  00:00:00     
updates                                                           | 3.4 kB  00:00:00     
(1/2): extras/7/x86_64/primary_db                                 | 149 kB  00:00:01     
(2/2): updates/7/x86_64/primary_db                                | 2.7 MB  00:00:01     
Loading mirror speeds from cached hostfile
 * base: mirrors.cqu.edu.cn
 * extras: mirrors.163.com
 * updates: mirrors.163.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 rsync.x86_64.0.3.1.2-4.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=========================================================================================
 Package            架构                版本                     源                 大小
=========================================================================================
正在安装:
 rsync              x86_64              3.1.2-4.el7              base              403 k

事务概要
=========================================================================================
安装  1 软件包

总下载量:403 k
安装大小:815 k
Downloading packages:
rsync-3.1.2-4.el7.x86_64.rpm                                      | 403 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : rsync-3.1.2-4.el7.x86_64                                             1/1 
  验证中      : rsync-3.1.2-4.el7.x86_64                                             1/1 

已安装:
  rsync.x86_64 0:3.1.2-4.el7                                                             

完毕!

rsync常用选项

-a包含-rtplgoD
-r同步目录时要加上,类似cp时的-r选项
-v同步时显示一些信息,让我们知道同步的过程
-l保留软链接
-L加上该选项后,同步软链接时会把源文件给同步
-p保持文件的权限属性
-o保持文件的属主
-g保持文件的属组
-D保持设备文件信息
-t保持文件的时间属性
--delete删除DEST中SRC没有的文件
--exclude过滤指定文件,如--exclude "logs"会把文件名包含logs的文件或目录过滤掉,不同步
-P显示同步过程,比如速率,比-v更加详细
-u加上该选项后,如果DEST中的文件比SRC新,则不同步
-z传输时压缩

rsync通过ssh同步

打开两个虚拟机,两者可以通信,其中一个IP是192.168.133.130,另外一个IP192.168.133.132,两个事先都要安装好rsync包,yum install -y rsync

225028_gszh_3708406.png

然后开始同步文件(推文件),输入root密码

225430_7aDt_3708406.png

在第二台虚拟机上查看同步的文件

225526_n8dc_3708406.png

也可以第二台虚拟机的文件传到本机上(拉文件)

225822_c7sw_3708406.png

指定端口传输文件,-e "ssh -p 22"

230023_Xmuo_3708406.png

inux系统日志

linux系统日志

/var/log/messages 是系统总的日志

[root@localhost ~]# ls /var/log/messages
/var/log/messages
[root@localhost ~]# du -sh !$
du -sh /var/log/messages
140K    /var/log/messages

通过logrotate工具实现日志自动切割

[root@localhost ~]# ls /var/log/messages*
/var/log/messages  /var/log/messages-20180523  /var/log/messages-20180611
查看logrotate配置文件,日志每周切割一次,保留4个,创建新的文件,使用日期作为后缀名,是否要压缩

[root@localhost ~]# cat /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext

# uncomment this if you want your log files compressed
#compress


切割文件每月一次,指定权限,属主属组

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
    minsize 1M
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 1
}

# system-specific logs may be also be configured here.

查看 /etc/logrotate.d/syslog 文件

[root@localhost ~]# 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
}

dmesg命令

dmesg命令会把系统硬件相关的日志列出来,保存在内存中

dmesg -c清空系统硬件相关的日志

/var/log/dmesg 系统启动日志,与dmesg命令无关

last命令

查看你正确的登录历史;调用的文件/var/log/wtmp,这是个二进制文件,只能用last查看

[root@localhost ~]# last
root     pts/0        192.168.88.1     Thu Jun 21 17:15   still logged in   
root     pts/0        192.168.88.1     Thu Jun 21 16:58 - 17:13  (00:14)    
reboot   system boot  3.10.0-327.el7.x Thu Jun 21 16:58 - 17:21  (00:23)    
root     tty1                          Mon Jun 11 18:53 - crash (9+22:05)   
reboot   system boot  3.10.0-327.el7.x Mon Jun 11 18:52 - 17:21 (9+22:29)   
root     pts/0        192.168.88.1     Mon May 28 16:22 - crash (14+02:30)  
reboot   system boot  3.10.0-327.el7.x Mon May 28 16:21 - 17:21 (24+01:00)  
root     pts/0        192.168.88.1     Wed May 23 18:08 - crash (4+22:12)   
root     pts/0        192.168.88.1     Wed May 23 17:52 - 18:02  (00:10)    
reboot   system boot  3.10.0-327.el7.x Wed May 23 17:39 - 17:21 (28+23:42)  
reboot   system boot  3.10.0-327.el7.x Wed May 23 17:37 - 17:21 (28+23:44)  
root     pts/1        192.168.88.1     Wed May 23 16:55 - crash  (00:42)    
root     pts/0        192.168.88.1     Wed May 23 16:20 - crash  (01:16)    
reboot   system boot  3.10.0-327.el7.x Wed May 23 16:18 - 17:21 (29+01:03)  
root     pts/0        192.168.88.1     Mon May 21 19:29 - crash (1+20:48)   
reboot   system boot  3.10.0-327.el7.x Mon May 21 19:29 - 17:21 (30+21:52)  
root     pts/0        192.168.88.1     Mon May 21 18:55 - crash  (00:33)    
reboot   system boot  3.10.0-327.el7.x Mon May 21 18:53 - 17:21 (30+22:28)  
root     pts/1        192.168.88.1     Sun May 13 22:02 - crash (7+20:51)   
root     pts/0        192.168.88.1     Sun May 13 19:54 - crash (7+22:59)   
root     tty1                          Sun May 13 19:49 - crash (7+23:04)   
reboot   system boot  3.10.0-327.el7.x Sun May 13 19:49 - 17:21 (38+21:32)  

wtmp begins Sun May 13 19:49:18 2018

lastb命令

查看登陆失败的用户,对应的文件/var/log/btmp,也是二进制文件

安全日志

/var/log/secure,登录系统验证成功,就会记录一个日志,没有成功也会记录

screen工具

screen可以理解为一个虚拟的终端

场景:有时我们执行一条命令或者脚本,需要很长时间(几小时或几天),为了不让任务意外中断,有两种方法解决

  • 将任务丢到后台,然后加一个日志输出,命令nohup command &,nohup后面接命令加上日志再加上&符号
  • screen工具,将命令放到这个终端中执行,在退出远程终端前,将screen丢到后台去

首先安装screen命令,yum install -y screen,安装完成后输入screen命令回车,进入screen的窗口,其实就是一个虚拟终端;执行命令vmstat 1,然后先按ctrl+a,再按d键,screen就进入后台执行命令了。

然后输入screen -ls命令,查看任务

[root@localhost ~]# screen -ls
There is a screen on:
        2673.pts-0.localhost    (Attached)
1 Socket in /var/run/screen/S-root.

回到screen后台,输入screen -r (id号)

[root@localhost ~]# screen -r 2673
There is a screen on:
        2673.pts-0.localhost    (Attached)
There is no screen to be resumed matching 2673.
如果不需要screen后台,输入exit即可,screen可以允许多个终端后台同时运行,想进那个后台,就输入screen -r (对应的id号)screen自定义名称,screen -S (自定义名称),进入后台,也可以输入screen -r (自定义名称)。

 

 

转载于:https://my.oschina.net/u/3856250/blog/1833208

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值