Linux日常管理技巧4

rsync

rsync全称remote sync,是一种更高效、可以本地或远程同步的命令,之所以高效是因为rsync会对需要同步的源和目的进度行对比,只同步有改变的部分,所以比scp命令更高效,但是rsync本身是一种非加密的传输,可以借助-e选项来设置具备加密功能的承载工具进行加密传输

rsync的六种工作模式

1:rsync [OPTION] … SRC DEST拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。

如:rsync -a /data /backup

2:rsync [OPTION] … SRC [user@]host:DEST使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。

如:rsync -avz *.c foo:src

3:rsync [OPTION] … [user@]host:SRC DEST使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。

如:rsync -avz foo:src/bar /data

4:rsync [OPTION] … SRC [user@]host::DEST从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。

如:rsync -av root@192.168.78.192::www /databack

5:rsync [OPTION] … [user@]host::SRC DEST从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。

如:rsync -av /databack root@192.168.78.192::www

6:rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。

如:rsync -v rsync://192.168.78.192/www

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服务端配置

1:rsync通过服务同步需要编辑配置文件/etc/rsyncd.conf

uid = rsync #用户uid

gid = root #用户gid

use chroot = no #安全相关

max connections = 200 #最大连接数

timout = 300 #超时参数(秒)

pid file = /var/run/rsyncd.pid #进程号对应的文件

lock file = /var/run/rsync.lock #锁文件,防止文件不一致

log file = /var/log/rsyncd.log #日志文件

[backup] #模块名称

path = /backup #服务器提供访问的目录

ignore errors #忽略错误

read only = false #只读模式 false关闭,意为可读写

list = false #不允许列表

hosts allow = 10.0.0.0/24 #允许连接的网段

host deny = 0.0.0.0/32 #拒绝连接的网段

auth users = rsync_backup #连接的虚拟用户,非系统用户

secrets file = /etc/rsync.password #虚拟用户的账号密码文件

2、创建rsync用户

useradd rsync -s /sbin/nologin -M

3、创建备份目录

mkdir /backup

4、把备份目录用户和用户组改为配置文件中的用户和用户组

chown rsync.root /backup

5、编辑rsync虚拟用户和密码文件,格式user:password

vim /etc/rsync.password

cat /etc/rsync.password

rsync_backup:123456

6、更改虚拟用户密码文件的权限为600

chmod 600 /etc/rsync.password

7:以进程模式启动rsync服务

rsync --daemon

8:加入开机自启动(注:非必要操作)

echo "/usr/bin/rsync --daemon" >> /etc/rc.local

9:检查rsync服务端口873是否开启

netstat -lnp | grep 873

rsync客户端配置

1、配置客户端的密码文件, 只需要写上服务端设置的虚拟用户的密码

vim /etc/rsync.password

cat /etc/rsync.password

123456

2:改密码文件权限为600

chmod 600 /etc/rsync.password

3:创建本地临时备份目录

mkdir /backup

linux系统日志

如果一个服务没有定义自己的日志文件,那么该服务产生的日志都会存在这个文件里面,/var/log/messages

日志切割

日志文件占用的存储空间总是会越来越大。这时候就需要切割日志了

ls /var/log/messages*

/var/log/messages /var/log/messages-20180610 /var/log/messages-20180620##以上都是CentOS7系统自动配置的日志切割方案。

我们也可以自己配置日志切割方案配置文件/etc/logrotate.conf

cat /etc/logrotate.conf

# see "man logrotate" for details

# rotate log files weekly weekly ##这个表示每周切割1次

# keep 4 weeks worth of backlogs rotate 4 #保留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.

日志切割参考https://my.oschina.net/u/2000675/blog/908189 

dmesg 命令:查看硬件相关的日志。

dmesg -c #清空硬件日志信息。重启之后又会生成。

/var/log/dmesg 日志文件,记录系统启动的信息。

last命令,查看正确的登录记录,调用的文件/var/log/wtmp

lastb命令,查看登录失败的用户,对应的文件时/var/log/btmp

/var/log/secure 系统安全日志:可以查看系统是否有被暴力破解等信息。

虚拟终端:Screen工具

Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。

用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

Screen常用操作

为了解决远程连接时,因为网络中断等原因导致任务中断的一个简单解决办法.

nohup command & 这个命令可以将command放到后台运行,不会因为网络断开而中断任务。但是缺点是不能实时的显示任务的输出信息。只能将输出的信息保存到一个文件中。

安装screen

yum install -y screen

先按ctral+a组合键再按d退出虚拟终端,但不是结束

screen -ls 查看虚拟终端列表

screen -r id 进入指定的终端

扩展

Linux日志文件总管logrotate http://linux.cn/article-4126-1.html

xargs用法详解 http://blog.csdn.net/zhangfn2011/article/details/6776925






猜你喜欢

转载自blog.csdn.net/swtirene/article/details/80797656
今日推荐