rsync通过服务同步
两台机器:
A机器:192.168.177.8
B机器:192.168.177.7
需要将B机器的文件同步到A机器上
1. 编辑A机器配置文件,
[root@qw01 ~]# vi /etc/rsyncd.conf #编辑配置文件,将以下内容添加到文件里
port=873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=192.168.177.8
[test]
path=/tmp/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.177.7 1.1.1.1 2.2.2.2 192.168.177.0/24
2.A机器启动服务
[root@qw01 ~]# rsync --daemon
[root@qw01 ~]# ps aux |grep rsync
root 1319 0.0 0.0 114652 520 ? Ss 22:20 0:00 rsync --daemon
root 1322 0.0 0.0 112676 984 pts/0 S+ 22:21 0:00 grep --color=auto rsy
3.A机器创建目录
[root@qw01 ~]# mkdir /tmp/rsync
[root@qw01 ~]# chmod 777 /tmp/rsync
4.前期的准备工作已经做完,可以开始同步文件
从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式
rsync [OPTION]... SRC [USER@]HOST::DEST
B机器执行以下命令
[root@localhost ~]# rsync -avP /root/zx 192.168.177.8::test/zx.bak #将B机器上的/root/zx文件备份到远程A机器,并改名为zx.bak
从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式
rsync [OPTION]... [USER@]HOST::SRC DEST
A机器执行以下命令
[root@localhost ~]# rsync -avP 192.168.177.8::test/zx.bak /tmp/bb.txt
5. 配置文件详解
port :指定在哪个端口启动rsyncd服务,默认是873端口。
log file :指定日志文件。
pid file :指定pid文件,这个文件的作用涉及服务的启动、停止等进程管理操作。
address :指定启动rsyncd服务的IP。假如你的机器有多个IP,就可以指定由其中一个启动rsyncd服务,如果不指定该参数,默认是在全部IP上启动。
[] :指定模块名,里面内容自定义。
path :指定数据存放的路径。
max connections :指定最大的连接数,默认是0,即没有限制。
read only ture|false:如果为true,则不能上传到该模块指定的路径下。
list :表示当用户查询该服务器上的可用模块时,该模块是否被列出,设定为true则列出,false则隐藏。
uid/gid :指定传输文件时以哪个用户/组的身份传输。
auth users :指定传输时要使用的用户名。
secrets file :指定密码文件,该参数连同上面的参数如果不指定,则不使用密码验证。注意该密码文件的权限一定要是600。格式:用户名:密码
use chroot true|false:表示在传输文件前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但缺点是需要以root权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true,如果你的数据当中有软连接文件,建议设置成false。
hosts allow :表示被允许连接该模块的主机,可以是IP或者网段,如果是多个,中间用空格隔开。
当设置了auth users和secrets file后,客户端连服务端也需要用用户名密码了,若想在命令行中带上密码,可以设定一个密码文件 rsync -avL test@192.168.133.130::test/test1/ /tmp/test8/ --password-file=/etc/pass 其中/etc/pass内容就是一个密码,权限要改为600
Linux系统日志
1. 系统日志存放地址,几乎系统发生的错误信息以及重要信息都会记录在这个文件里
/var/log/messages
2. 日志文件的轮替(切割)配置,
/etc/logrotate.conf
[root@localhost ~]# cat /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly #默认每个礼拜对日志文件进行一次rotate的工作
# 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 #将/etc/logrotate.d/这个目录中的所有文件都读进来执行rotate工作
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp { #针对/var/log/wtmp/所设置的参数
monthly #每个月执行一次rotate工作
create 0664 root utmp #指定新建文件的权限和所有者以及所属组
minsize 1M #文件的大小要超过1M才进行rotate
rotate 1 #保留一个文件
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
# system-specific logs may be also be configured here.
3. /etc/logrotate.d
/etc/logrotate.d其实就是由/etc/logrotate.conf所规划出来的目录,所以可以将所有的数据都写入到 /etc/logrotate.conf即可,但是这样太过于复杂了,所以独立出来一个目录,那么每个以rpm打包方式安装的服务日志文件轮替设置,就可以独自成为一个文件,并且放到 /etc/logrotate.d目录下即可。
[root@localhost ~]# ls /etc/logrotate.d/
bootlog chrony syslog wpa_supplicant yum
4. dmesg 是一个命令
把系统硬件相关的日志列出来,比如网卡或者硬盘出现异常时会记录下来,是存储在内存中的
5. /var/log/dmesg 这是一个日志文件,和dmesg命令没有相关性,记录系统启动相关的信息
6. last 是一个命令,用来记录正确的登陆历史,调用的是/var/log/wtmp这个日志文件
7. lastb 是一个命令,查看登录失败的用户,调用的是/var/log/btmp这个日志文件
8./var/log/secure 这时一个安全日志,只要牵涉到需要输入账号密码的软件,那么登陆时不管正确和错误都会被记录在这个文件中
screen工具
只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)
1. 安装screen
[root@localhost ~]# yum install -y screen
2. 安装完成后,直接敲命令screen就可以启动
screen启动后,会创建第一个窗口,也就是窗口No. 0,并在其中打开一个系统默认的shell,一般都会是bash。所以你敲入命令screen之后,会立刻又返回到命令提示符,仿佛什么也没有发生似的,其实你已经进入Screen的世界了。
[root@localhost ~]# screen
3. 在screen下运行一个命令,例如vmstat 1,然后按ctrl+a,再按下d退出
[detached from 2366.pts-2.localhost] #退出后的到这个提示
4. screen -ls 列出当前所有的session
[root@localhost ~]# screen -ls
There are screens on:
2424.pts-2.localhost (Detached)
2366.pts-2.localhost (Detached)
2 Sockets in /var/run/screen/S-root.
5. screen -r 回到指定的session
[root@localhost ~]# screen -r 2424
6. 结束一个session
直接在session下按ctrl+c,然后输入exit即可退出
7.screen -S 给screen会话取一个名字
[root@localhost ~]# screen -S "testlx"
[detached from 2730.testlx]
[root@localhost ~]# screen -ls
There are screens on:
2730.testlx (Detached)
2692.pts-2.localhost (Detached)
2662.pts-2.localhost (Detached)
2366.pts-2.localhost (Detached)
4 Sockets in /var/run/screen/S-root.