Linux中系统中的文件传输日志管理(5.26第八天学习内容)

时间:2024-03-25 22:13:58

一.Linux中系统中的文件传输

实验环境:需要两台可以通信的虚拟机,前面设置的10 和 20 主机即可

1.scp命令

scp   本地文件   远程主机用户@远程主机IP:远程主机目录的绝对路径(上传)

scp    远程主机用户@远程主机IP:远程主机目录的绝对路径    本地文件(下载)

实验操作如下

(1)在10主机上建立文件和目录

touch  westos

mkdir  westosdir

(2)测试

  a)在10主机把本地文件复制到远程主机上

scp  westos  [email protected]:/root/Desktop

在10主机把本地目录复制到远程主机上

 scp  -r westosdir  [email protected]:/root/Desktop  显示上传进度

scp  -rq westosdir  [email protected]:/root/Desktop    不显示上传进度

Linux中系统中的文件传输日志管理(5.26第八天学习内容)

b)在10主机上将远程文件复制到本机

     scp  -r   [email protected]:/root/Desktop /file{1..5}     /root/Desktop

Linux中系统中的文件传输日志管理(5.26第八天学习内容)

2.rsync 命令

a)rsync和scp命令的对比

实验素材建立:  在10主机上建立3个文件

dd     if=/dev/zero      of=/root/Desktop/westosfile1     bs=1M   count=10

#dd 表示截取 if=inputfile   of=outputfile   bs=blocksize count=块的个数   该命令表示建立一个10M的文件

dd     if=/dev/zero      of=/root/Desktop/westosfile1     bs=1M   count=20

dd     if=/dev/zero      of=/root/Desktop/westosfile1     bs=1M   count=30

b) 在主机之间设定远程免密连接 设置在前面的实验中已完成

c)创建测试脚本

vim /mnt/scp.sh      检测scp传输时间

在vim中编辑 :

time  scp  -qr /root/Desktop/westosfile1  [email protected]:/root/Desktop 

time  scp  -qr /root/Desktop/westosfile2  [email protected]:/root/Desktop

time  scp  -qr /root/Desktop/westosfile3 [email protected]:/root/Desktop

vim /mnt/rsync.sh      检测rsync传输时间

在vim中编辑 :

time  rsync  -qraC   /root/Desktop/westosfile1  [email protected]:/root/Desktop 

time rsync  -qraC  /root/Desktop/westosfile2  [email protected]:/root/Desktop

time rsync --qraC  /root/Desktop/westosfile3  [email protected]:/root/Desktop

d)执行脚本

sh  /mnt/scp.sh  和 sh  /mnt/rsync.sh   

三次系统执行时间可以看出SCP三次执行时间几乎一致。rsync后两次时间远远小于第一次。

实验结果如下:

Linux中系统中的文件传输日志管理(5.26第八天学习内容)

3.rsync 命令的用法

    rsync  本地文件   远程主机用户@远程主机IP:远程主机目录的绝对路径(上传)

     rsync     远程主机用户@远程主机IP:远程主机目录的绝对路径    本地文件(下载)

带参数的 rsync  用法

rsync -r [email protected]:/root/Desktop   /mnt     同步目录本身和目录中的文件

rsync -r [email protected]:/root/Desktop/   /mnt     只同步目录中的文件

rsync -rl  [email protected]:/root/Desktop/   /mnt    -l  同步连接

rsync -rlp   [email protected]:/root/Desktop/   /mnt    -p同步权限

rsync -rlpog  [email protected]:/root/Desktop/   /mnt     同步用户组

rsync -rlpogt  [email protected]:/root/Desktop/   /mnt    同步时间

rsync -rD    [email protected]:/dev/pts /mnt

实验如下:

首先需要建立文件和对用户上的权限进行设置

Linux中系统中的文件传输日志管理(5.26第八天学习内容)

4.文件的归档

tar命令

tar    c   创建                             v  显示过程

         f   指定文件名称            --get  解档指定文件

         x 解档                             --delete 删除指定文件

         t  查看                             -C    指定解档路径

         r  向归档文件中添加文件

5.文件压缩

zip 

zip  -r     mnt.tar.zip       mnt.tar        zip格式压缩

unzip   mnt.tar.zip                          zip格式解压缩

gzip          

gzip   mnt.tar         gzip 格式压缩

gunzip   mnt.tar.gz      gzip 格式解压缩

bzip2

bzip2 mnt.tar    bzip2格式压缩

bunzip2  mnt.tar.bz2        bzip2格式解压缩

xz  

xz   mnt.tar   xz格式压缩

unxz   mnt.tar ,xz   xz格式解压缩

6.tar归档+压缩

gzip

tar   zcf   mnt.tar.gz   /mnt

tar  zxf   mnt.tar.gz

bzip 

bzip

tar  jcf  mnt.tar.bz2  /mnt

tar  jxf mnt.tar.bz2

xz

tar Jcf   mnt.tar.xz  /mnt

tar  Jxf   mnt.tar.xz

实验如下

Linux中系统中的文件传输日志管理(5.26第八天学习内容)

Linux中系统中的文件传输日志管理(5.26第八天学习内容)

二.Linux系统中的日志管理

实验环境:两台主机 实验前需要将火墙关闭 systenctl stop  fierwalld

1.journald

服务名称:systemd-journald.service

journalctl   路径:/run/log

journalctl   命令用法:

                 -n 3    查看日志的最新三条 

                --since “2020-05-26 9:00” 显示9点以后的日志

                --until  “2020-05-26 9:00” 显示日志到9点

                 -o       设定日志的显示方式    -o  short  经典模式  -o verbose  显示日志的全部字节  -o export  适合传出和备份的二进                              制格式    -o json  js格式显示输出

                  -P  显示日志级别    #0  emerg    系统的严重问题日志

                                                  #1 alert  系统立即要改的信息

                                                 #2 crit    严重级别会导致系统软件不能正常运行

                                                 #3 err        程序报错

                                                #4 waring    程序警告

                                                 #5 notice   重要信息的普通指信息

                                                  #6 info      普通信息

                                                 #7 debug   程序拍错信息

                         -F   PRIORITY   查看可控日志级别         --disk -usage  查看日志大小

                         -u   查看指定服务               --vacuum -size=1G  设定日志存放大小

                        --vacuum -time =1w    设定日志存放的时间

                         -f  监控日志  

Linux中系统中的文件传输日志管理(5.26第八天学习内容)

注意系统重启后将看不到开机前的日志。

2.永久保存日志信息 

系统中默认日志在:/run/log/journal 

默认方式在系统重启后日志会被清理,要永久保存日志需进行下面设定

  mkdir  /var/log/journal

  chgrp  systemd-journal   /var/log/journal

 chmod  g+s  /var/log/journal

设置完成后 systemctl  restart systemd-journal.service

当重启日志服务后 日志内容将存放在/var/log/journal

Linux中系统中的文件传输日志管理(5.26第八天学习内容)

3.rsyslog 

服务名称:rsyslog.service

日志存放:

/var/log/messages     系统服务日志

/var/log/secure          系统认证信息日志

/var/log/maillog         系统邮件日志信息

/var/log/cron           系统定时任务信息

/var/log/boot.log        系统启动日志信息

配置文件:/etc/rsyslog.conf

实验1:自定义采集路径

vim  /etc/rsyslog.conf

日志类别 .日志级别                                        日志存放路径

*              . *                                                    /var/log/westos     把系统中所有级别的日志信息存放在westos

*     .            *;authpriv.none                         /var/log/westos    把系统中所有级别的日志信息存放在westos,但authpriv不存放

日志类型                                                              日志级别

auth                    用户认证                                    emerg    系统的严重问题日志

authpriv               服务认证                                    alert  系统立即要改的信息

cron                     时间任务                                   err        程序报错

kern                     内核类型                                    waring    程序警告

mail                       邮件                                           notice   重要信息的普通指信息

news                    系统更新信息                               info      普通信息

user                        用户                                            debug   程序拍错信息     none  不采集信息

实验过程按上述操作

实验2:如何更改日志采集格式

(1)定义日志采集格式

$template   WESTOS  "%FROMHOST -IP% %timegenerated%  %FROMHOST -IP% %syslogtag% %msg%\n"

 WESTOS:格式名称

%FROMHOST -IP%:日志来源主机IP

%timegenerated%: 日志生成时间

%syslogtag% :日志生成服务

%msg% :日志内容

\n:换行

(2)设定日志采集格式应用

编辑日志采集格式

*     .            *;authpriv.none                         /var/log/westos ;WESTOS

module (load="builtin:omfile" Template="WESTOS_FORMAT")       默然采用WESTOS_FORMAT格式

Linux中系统中的文件传输日志管理(5.26第八天学习内容)

(3)日志远程同步

node1:20主机作为存放日志接受端,所有人日志都存放在此主机

Linux:10主机发送日志到20主机

a) 在node1中设定接受所有人的日志

systemctl stop fierwalld 关闭防火墙

 进入编辑 vim  /etc/rsyslog.conf  

19 module (load=imudp)                         打开日志接受插件

20 input(type="imudp" port="514")         指定插件使用接口

systemctl restart rsyslog.service

查询端口: ss -antlupe  | grep rsyslog

b)在10主机中设定发送日志到20中

 进入编辑 vim  /etc/rsyslog.conf  

写入@172.25.254.20  表示将本机日志用UDP的传输方式发送到20主机中

@  表示用udp传输日志

@@表示用tcp传输日志

测试:

在20主机中清理掉原有的信息日志 > /var/log/messages

然后在 linux z10主机中 logger  westos test message 

3.timedatectl  修改时间时区的命令

timedatectl  set-time "2020-05-27 10:06"       设定系统时间

timedatectl  list-timezone                               显示系统的所有时区

timedatectl  set-timezone "Aisa/Shanghai"     设定系统时区

timedatectl  set-local-rtc   0|1                          设定系统时间的计算方式 0表示使用utc时间计算方式

Linux中系统中的文件传输日志管理(5.26第八天学习内容)

4.时间同步服务

服务名称:chronyd.service

配置文件:/etc/chrony.conf

实验:10主机作为时间源同步20的时间

在10主机上,

vim /etc/chrony.conf   

26 allow 172.25.254.0/24  允许172.25.254.0网段主机同步时间

29 local stratum 10           开启时间同步服务器功能并设定级别为10

systemctl restart chronyd.service

在20主机中 

vim /etc/chrony.conf    

pool 172.25.254.10   iburst

然后在node1中用chronyc source -v

Linux中系统中的文件传输日志管理(5.26第八天学习内容)

Linux中系统中的文件传输日志管理(5.26第八天学习内容)